try*_*arn 3 java inheritance encapsulation
我有两个JAVA课程:
家长班:
public class Parent {
private int age;
public void setAge(int age) {
this.age = age;
}
public int getAge(){
return this.age;
}
}
Run Code Online (Sandbox Code Playgroud)
儿童班:
public class Child extends Parent{
public static void main(String[] args){
Parent p = new Parent();
p.setAge(35);
System.out.println("Parent "+p.getAge());
Child c = new Child();
System.out.println("Child " + c.getAge());
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
Parent 35
Child 0
Run Code Online (Sandbox Code Playgroud)
私有成员不是在JAVA中继承的当getAge()在子类实例上调用方法时,为什么它成功运行甚至输出为0?
私有成员不是继承的,但访问它的公共方法是.
当您创建类型的对象时,Child如果不能直接使用,则还会创建超类的所有变量.
如果超类中有公共方法,则可以从子类访问它们.如果这些方法访问超类的私有变量值,您可以间接通过公共方法访问它们.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |