「java过渡继承」JAVA中的继承
本篇文章给大家谈谈java过渡继承,以及JAVA中的继承对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java的继承问题
很高兴回答你的问题
首先看下Java里的四个访问控制符(默认、public、private、protected),详解如下:
pravite 只能在同一个类中访问
protected,可以在同一个类、同一个包、不同包中的子类访问
默认:在同一个类、同一个包中访问
public 同一个类,同一个包、不同包中的子类、不同包中的非子类
看了上边这四行解释,想必你应该明白了一些,因为你父类SurperClass中的方法method3用protected来修饰,所以method3只能在同一个类中、或同一个包、或不同包中的子类访问,
由于你的子类没有和父类在同一包下,而且调用对象也不是其子类,所以无法调用method3,你如果想调用,将
SurperClass s = new SurperClass();
s.method3();
修改为
SubClasss = new SubClass();
s.method3();
即可调用,也可以将子类SubClass与父类放入同一包下,不需要修改你的代码,也可以访问。
祝你学习愉快!
java继承
在子类的构造方法里,第一句必须得调用父类的构造方法,如果父类有无参构造方法或者没有写构造方法(默认是无参),此时子类可以省略不写,这里系统会自动调用父类的无参构造方法,即相当于写了一句:super();如果父类没有无参构造,而是手动写的有参构造方法,那么子类必须显示的调用它,super(参数);你的程序就是少了这个,在子类的构造方法中加上super(String,int,int);调用一下就行了,或者在父类中加上一个无参构造也可以。
Java类的继承
//C1.java
class PersonA {
private String name;
public void setName(String newName) {
name = newName;
}
public String getName() {
return name;
}
}
class StudentA extends PersonA {
private String department;
public void setDepartment(String newDepartment) {
department = newDepartment;
}
public String getDepartment() {
return department;
}
}
class C1 {
public static void main(String args[]) {
StudentA s1 = new StudentA();
s1.setName("张三");
s1.setDepartment("计算机系");
System.out.println("你好,我是" + s1.getName());//你这里写错了不是 setName
System.out.println("我是" + s1.getDepartment() + "的学生");//不是 setDepartment
}
}
java过渡继承的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA中的继承、java过渡继承的信息别忘了在本站进行查找喔。