Java面向对象(四)

1.1、继承
继承概念

  • 继承是类与类的额一种关系是一种”is - a“的关系,如 猫狗 都继承动物。
    Java中的继承都是单继承 一个类只有一个人父类

继承的好处

  • 子类拥有父类所有的属性和方法(除了private修饰的属性)其他代码实现复用。

格式:

class 子类 extends 父类{
。。。。。。。
}

方法重写

子类继承父类就能进行方法重写,将父类不需要的部分继承后将内容修改,这种方式叫做方法重写,当调用方法时会优先调用子类方法。

注意:

  • 返回值类型
  • 方法名
  • 参数类型及个数
    这三点都应该要与父类继承的方法相同。

重载与重写的区别

  • 方法重载:在同一个类中处理不同数据的多个相同方法名的多态手段。
  • 方法重写:相对继承而言,子类中对父类已经存在的方法进行区别化的修改。

java程序的执行顺序是:

父类对象属性初始化---->父类对象构造方法---->子类对象属性初始化—>子类对象构造方法

public class Person {
    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 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 {
    public Student() { }
    public Student(String name, int age) {
        super(name, age);
    }
    @Override
    public void eat() {
        System.out.println("吃肉");
    }
}
class Test {
    public static void main(String[] args) {
        Student student = new Student("张三", 18);
        System.out.println(student.getName()+"=="+student.getAge());
        student.eat();   
    }
}

final关键字

字义为”最终的“意思

用途:

  • final修饰类,不允许被继承。
  • final修饰方法,不允许被覆盖(重写)
  • final修饰属性,不会进行隐式初始化,该final属性的初始化属性的初始化属性必须有值,或在构造方法中赋值,之后不能再修改,只能赋值一次。
  • final修饰变量,该变量的值只能赋一次值,在声明变量的时候才能赋值,即变为常量。

super关键字

在对象的内部使用,可以代表父类对象。

  • 访问父类的属性:super.age
  • 访问父类的方法:super.eat()

super的应用:
 首先我们知道子类的构造的过程当中必须调用父类的构造方法。其实这个过程已经隐式地使用了我们的super关键字。
 这是因为如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法。
 那么如果自己用super关键字在子类里调用父类的构造方法,则必须在子类的构造方法中的第一行。
 要注意的是:如果子类构造方法中既没有显示调用父类的构造方法,而父类没有无参的构造方法,则编译出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值