继承是代码复用的一种方式,是类与类之间的一种关系
从类与类之间的设计关系来看,子类必须属于父类的一种时,才会继承
父类抽取出了共性的内容,子类可以在父类基础上扩展新的属性与行为(创建新的变量和方法)
子类拥有父类所有的属性与方法(不会继承父类的对象),无需重新定义,并且可以直接使用非私有的父类成员
例如,父类Person
public class Person extends Object {
private String name;
private int age;
public Person() { } //无参的构造方法
public Person(String name, int age)
{
this.name = name; this.age = age; //含参的构造方法
}
public void eat() { System.out.println("我吃了"); }
public void sleep() { System.out.println("我睡了"); } }
public String getName() { return name; } //成员变量被private修饰,子类无法直接访问,可以通过set/get方法访问
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; } }
子类Coder
public class Coder extends Person {
public void code() { System.out.println("我写了一个百度!"); } } //子类自己的方法
测试类
public class ExtendsDemo {
public static void main(String[] args) {
//创建子类对象
Coder coder = new Coder();
//使用子类可以通过public修饰的get/set方法访问父类的私有成员变量
coder.setName("拜伦");
coder.setAge(18);
System.out.println(coder.getName()+"的年龄是:"+coder.getAge()); //使用子类可以访问父类的非私有成员方法
coder.eat();
coder.sleep();
coder.code(); } }//使用子类可以访问子类的自身的成员方法
而且一个类不能拥有多个直接父类,继承只支持单继承