子类继承父类后,类中各成员的特点
类的成员:属性 方法 构造器
1.属性的特点:
①当子类继承父类后,若子类出现了与父类同名的属性时,
创建子类对象调用该属性时,实际调用的是子类对象的属性。
若需要调用父类的该属性 使用关键字:super
2.super关键字与this关键字使用方式一样
this 使用在本类中,代表当前对象的引用
super 使用在子类中,代表父类对象的引用
super.属性
super.方法
super(...):调用父类构造器
public class ExtendsTest2 {
public static void main(String[] args) {
Son son=new Son();
System.out.println(son.num);
son.show();
}
}
class Father{
int num=10;
}
class Son extends Father{
int num=20;
public void show(){
System.out.println(super.num);
}
}
package coom.Exercise.java;
创建子类对象,看看是调用的是子类的num还是父类的num
执行的结果为:20
表明:当子类继承父类后,若子类出现了与父类同名的属性时,创建子类对象调用该属性时,实际调用的是子类对象的属性。
内存机制:
继承后的私有属性:
子类继承父类后,子类可以继承父类中所有的属性,包括私有属性,
只不过因为private修饰符的作用,这类不能直接访问,若需要
访问,使用公共的set/get方法
/*
子类继承父类后,类中各成员的特点
类的成员:属性 方法 构造器
1.属性的特点:
①当子类继承父类后,若子类出现了与父类同名的属性时,
创建子类对象调用该属性时,实际调用的是子类对象的属性。
若需要调用父类的该属性 使用关键字:super
②子类继承父类后,子类可以继承父类中所有的属性,包括私有属性,
只不过因为private修饰符的作用,这类不能直接访问,若需要
访问,使用公共的set/get方法
2.super关键字与this关键字使用方式一样
this 使用在本类中,代表当前对象的引用
super 使用在子类中,代表父类对象的引用
super.属性
super.方法
super(...):调用父类构造器
*/
public class ExtendsTest2 {
public static void main(String[] args) {
/*Son son=new Son();
System.out.println(son.num);
son.show();*/
Son son=new Son();
son.setNum(100);
System.out.println(son.getNum());
}
}
class Father{
//int num=10;
private int num=10;
public void setNum(int num) {
this.num = num;
}
public int getNum() {
return num;
}
}
class Son extends Father{
//int num=20;
/*public void show(){
System.out.println(super.num);
}*/
/*这二个方法子类是一定能继承的
public void setNum(int num) {
this.num = num;
}
public int getNum() {
return num;
}
*/
}