延安网站建设公司电话,h5开发app用什么框架,网站做三层结构,怎么注册网址免费文章目录 一、继承概述二、内存运行原理 ★三、继承的特点四、继承后#xff1a;成员变量和方法的访问特点五、继承后#xff1a;方法重写六、继承后#xff1a;子类构造器的特点七、继承后#xff1a;子类构造器访问父类有参构造器八、this、super 总结 一、继承概述
Jav… 文章目录 一、继承概述二、内存运行原理 ★三、继承的特点四、继承后成员变量和方法的访问特点五、继承后方法重写六、继承后子类构造器的特点七、继承后子类构造器访问父类有参构造器八、this、super 总结 一、继承概述
Java 允许一个类通过 extends 关键字与另一个类建立父子关系这就是继承。
格式 子类 extends 父类 特点 子类继承父类后就可以得到父类的属性和行为。 优点 提高代码的复用性多个子类的相同代码可以放在父类中增强了类的扩展性。
设计规范 子类共用属性和行为放在父类子类独有属性和行为放在子类自己那里。 二、内存运行原理 ★
public class People{private String name;private int age;/*** 共同行为*/public void queryCourse(){System.out.println(name 查看课表信息);}// getter setter
}public class Student extends People{private String className;/*** 独有行为*/public void writeInfo(){System.out.println(getName() 写作业);}// getter setter
}public class Test{public static void main(string[] args){Student s new Student();s.setName(翠花); // 父类的s.setAge(22); // 父类的s.setclassName(Java就业999期);// 子类的s.queryCourse(); // 父类的s.writeInfo(); // 子类的}
}学生对象内存图如下 三、继承的特点 子类可以继承父类的属性和行为但是 子类不能继承父类的构造器。 子类可以继承父类私有成员吗 有争议我认为可以只是不能直接访问。可通过访问父类的方法间接访问父类私有成员。 子类可以直接用子类名访问父类静态成员。那么子类继承了父类静态成员吗 我认为没有继承只能可以共享的去访问父类静态成员共享并非继承。 Java是单继承模式一个类只能继承一个直接父类。反证法如下 Java 不支持多继承但是支持多层继承。 Java 中所有的类都是 Object 类的子类。 四、继承后成员变量和方法的访问特点
采用就近原则 this.子类自己的成员变量 super.父类成员变量/父类成员方法父类成员是public
public class Animal{public String name 动物的名字;public void run(){System.out.println(动物可以跑~~);}
}public class Dog extends Animal{public String name 狗的名字;public void run(){System.out.println(狗可以跑~~);}public void showName(){String name 临时的名字;System.out.println(name); // 访问局部变量nameSystem.out.println(this.name); // 访问子类name。如果没有同名临时变量name就是子类 name不用加 thisSystem.out.println(super.name); // 访问父类namesuper.run(); // 访问父类run(); // 访问子类}
}public class Test {public static void main(String[] args) {// 目标理解继承后成员的访问特点就近原则Dog dog new Dog();dog.run(); // 狗可以跑~~dog.showName();}
}五、继承后方法重写 六、继承后子类构造器的特点 七、继承后子类构造器访问父类有参构造器 八、this、super 总结 注意 子类通过 this(…) 去调用本类的其他构造器本类其他构造器会通过 super 去手动调用父类的构造器最终还是会调用父类构造器。 super(…) 必须放在第一行this(…) 也必须在第一行因此二者不能共存一个构造器中。 文章参考Java入门基础视频教程java零基础自学就选黑马程序员Java入门教程含Java项目和Java真题