猿问

父类方法可以访问子类的私有数据域吗? 如题,请问第2个Person输出是怎么来的啊?

package demo;

public class Main {
	public static void main(String[] args) {
		new Person().printPerson();
		new Student().printPerson();
	}
}

class Student extends Person{

	private String getInfo() {
		return "Student";
	}
	
}
class Person{
	private String getInfo() {
		return "Person";
	}
	
	public void printPerson(){
		System.out.println(getInfo());
	}
}

输出为:

Person

Person

超凶的233
浏览 1928回答 3
3回答

蜂之谷

输出不告诉你了吗,private只能在当前类使用,第二个就是调用父类的printPerson()啊

凌小天3635910

类的私有域是不能被外界直接访问的。上面的代码中Student继承了Person类的 。而Student只能获得Person类的公用方法printPerson。不能继承私有方法getInfo。主函数中第一条语句新建了一个Person类并调用了它的printPerson方法。第二条语句新建了一个Person类的子类Student类并调用了Student类继承自Person类的方法printPerson。
随时随地看视频慕课网APP

相关分类

Java
我要回答