JAVA面向对象继承

一、java继承的实现

扩展父类功能;使用extends关键字完成继承;格式:class 子类 extends 父类{ 程序}

class Person2{
   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 Student2 extends Person2{
    private int score;
    public int getScore() {
        return score;
    }
public void setScore(int score) {
    this.score = score;
}
    public void tell() {
        System.out.println("姓名:"+getName()+" "+"年齡:"+getAge()+" "+"成績:"+getScore());
    }
}
public class Demo4 {
    public static void main(String[] args) {
         Student2 stu=new Student2();
        stu.setName("張三");
        stu.setAge(30);
        stu.setScore(99);
        stu.tell();
}

}

二、继承的限制

java只允许单继承,子类不能直接访问父类的私有成员,只能通过get,set方法调用

三、子类的实例化过程:在子类实例化之前,必须先调用父类的构造方法,之后调用子类的构造方法

四、java方法重写和super关键字

1、在继承中也存在着重写的概念,其实就是子类定义了和父类同名的方法。

2、方法名称相同,返回值类型相同,参数也同

3、重写限制:被子类重写的方法不能拥有比父类方法更严格的访问权限

4、访问权限:private<default<public;

例:
class A{
    public void tell() {
        System.out.println("我是父类");
    }
}
class B extends A {
    public void tell() {
        super.tell();
        System.out.println("我重写了父类");
    }
}
public class Demo5 {
    public static void main(String[] args) {
        B b=new B();
        b.tell();
    }
}

五、重写与重载的区别

JAVA面向对象继承