本文共 1107 字,大约阅读时间需要 3 分钟。
46.继承的理解和应用
类似于基因遗传(只有一个父亲)
符合is—a关系的设计使用继承(只有一个父类)
使用继承优化设计,将子类共有的属性和行为放到父类中(将重复的代码提取到父类),减少代码量,方便修改代码
继承是Java中实现代码重用的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类。
子类无法继承父类的private成员
同包的子类可以继承父类中默认修饰符修饰的成员,不同包的子类不可以继承父类中默认修饰符修饰的成员(继承默认权限修饰符修饰的属性和方法,但子类和父类必须在 同一个包里)
子类可以继承父类的protected成员,不管父子类是否在同一个包(继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包里)
package cn.com.ooa1;
//父类 public class Person { private int age; protected String name; char sex; public String address; }package cn.com.ooa1;
//子类 public class Student extends Person { public void m1(){ //子类可以继承父类的protected成员,不管父子类是否在同一个包 System.out.println(name); /*//子类无法继承父类的private成员 System.out.println(age); */ //同包的子类可以继承父类中默认修饰符修饰的成员 System.out.println(sex); System.out.println(address); } }package cn.com.ooa2;
import cn.com.ooa1.Person;
//子类 public class Teacher extends Person { public void m1(){ //子类可以继承父类的protected成员,不管父子类是否在同一个包 System.out.println(name); /*//子类无法继承父类的private成员 System.out.println(age);*/ /*//不同包的子类不可以继承父类中默认修饰符修饰的成员 System.out.println(sex);*/ System.out.println(address); } }转载地址:http://ztqcuy.baihongyu.com/