面向对象(继承,接口)

继承

概念:继承是面向对象程序设计不可缺少的设计思想,是实现代码可重用的根基,是提高代码可扩展性的主要途径。
集体内容:1,继承必须拥有父类
2.java中所有的类默认继承object类
3.java中使用extends作为继承的关键字
4.java中只允许单继承
5.继承的子类可以调用父类的非私有属性和方法
6.继承的子类可以重写子类的方法

super关键字

super关键字代表父类的引用,在程序中主要的用途
在子类构造方法中要调用父类的构造方法,需要注意:super语句只能出现在子类构造方法体的第一行。
用“super.成员变量名”来引用父类成员变量
用“super.方法名(参数列表)”的方式访问父类的方法。
与this的区别,this通常指代当前对象,super通常指代父类。

方法的重写

上述内容6的延伸
集体规则如下:
方法名相同、参数列表相同;
返回值类型相同;
访问权限等于或大于父类权限;

//方法的重写加继承以及super关键字
package com.xufeihu.javaoop.day4;


public class QiuTian extends Dog {
    private    String biaoqing="smilling";

//方法的重写   在父类定义的方法无法满足子类的需求是
//子类可以通过以下方法对父类定义的方法进行重写  可以将父类的方法全部丢弃
//也可以通过例如super.eat();将父类的方法进行使用同时加入自己的新的方法
//一旦方法重写实现则创建的子类对象无法访问到父类的该方法,只可使用子类的方法
//规则:方法名,参数列表相同(eat())
// 返回值类型相同(void int)
// 访问权限大于或等于父类(访问权限修饰符)
    @Override
    public void eat() {
        super.eat();
        System.out.println("不吃饭");
    }
}

接口

定义:使用 interface 关键字用来声明一个接口。
具体实现:
[访问修饰符] interface 接口名称 [extends 其他的接口名1,….其他的接口名n] {
// 声明常量
// 抽象方法
}
特性
接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
接口中每一个方法也是隐式抽象的,默认为public abstract 。
接口中声明的属性默认为 public static final 的;
接口不是被类继承了,而是要被类实现。
接口不能实例化对象(无构造方法),但可以声明对象的引用。(多态性)
多个类可以实现同一个接口。
一个类可以实现多个接口,但只能继承一个类。
与继承关系类似,接口与实现类之间存在多态性。
一个接口能继承其它多个接口。
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
具体实现

public interface Animal {
    //接口中定义抽象方法
    //所有属性默认为: public static final
    int num=10;
    //所有方法默认为:public abstract
    void eat();
    void sleep();
    void work();
    void PingZhong();
}

接口可以在java中实现多继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值