(1)继承
示例:
public class Test {
public static void main(String[] args)
{
Student stu=new Student();//实例化对象
stu.setName("张飒");
stu.setAge(12);
System.out.println("name="+stu.getName()+",age="+stu.getAge());
}
}
class Person
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends Person{
}
结果:name=张飒,age=12
总结:我们可以发现子类可以直接继承父类的操作,也就是实现代码的重用,并且子类最低可维持和父类相同的功能。
示例:子类进行扩充
public class Test {
public static void main(String[] args)
{
Student stu=new Student();//实例化对象
stu.setName("张飒");
stu.setAge(12);
stu.setSchool("加里敦大学");
System.out.println("name="+stu.getName()+",age="+stu.getAge()+",scool="+stu.getSchool());
}
}
class Person
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends Person{
private String school;
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
}
结果:name=张飒,age=12,scool=加里敦大学
(2)继承的限制
1,子类对象在进行实例化对象之前,一定会首先实例化父类对象,默认调用父类的构造方法后,再调用子类的构造方法进行子类对象实例化。
public class Test {
public static void main(String[] args)
{
new Student();//实例化对象
}
}
class Person
{public Person()
{
System.out.println("父类构造方法");
}
}
class Student extends Person{
public Student()
{
System.out.println("子类");
}
}
结果:
父类构造方法
子类
总结:子类对象的实例化一定会同时实例化父类的对象,
2,java中只允许单继承,不允许多继承。可以多层继承
eg:多层继承:class B extends A
class C extends B
3, 继承的时候,子类会继承父类的所有结构。所有的非私有操作属于显示继承(可直接调用),所有的私有操作属于隐士继承(通过其它形式进行调用 ,如setter,getter)。
4 子类所能使用的只能是父类的public操作,所有的private操作无法直接使用所以称为隐士继承。
阅读排行
- Java面试题全集(上) (1102929 )
- Wi-Fi 爆重大安全漏洞,Android、iOS、Windows 等所有无线设备都不安全了 (422517 )
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理 (268459 )
- Java面试题全集(中) (236892 )
- 一个非常有用的函数——COALESCE (222876 )
- Java面试题全集(下) (220857 )
- Uncaught SyntaxError: Unexpected token ) (213375 )
- 如何用adb连接android手机?(我的亲自经历)------ 顺便说说unable to connect to 192.168.1.100:5555的原因和解决方法 (210593 )
- 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制) (207457 )
- yum提示Another app is currently holding the yum lock; waiting for it to exit... (205662 )