java笔记day09

面向对象

关键字final
  1. final是一个修饰符,可以修饰类,方法,变量。
  2. final修饰的类不可以被继承。
  3. final修饰的方法不可以被覆盖。
  4. final修饰的变量是一个常量,只能赋值一次。(凡是固定值,全用final修饰)
  • 常量的命名:所有字母都大写,多个单词中间用_连接;变量的命名格式与函数一致。
抽象类
abstract class Demo//抽象
{
    abstract void show();
}
class A extends Demo
{
    void show()
    {
        System.out.println("A show");
    }
}
class B extends Demo
{
    void show()
    {
        System.out.println("B show");
    }
}//A和B有相同的函数,但执行方式又不一样,这时候可以将该方法抽取出来,定义为抽象方法
特点
  1. 方法只有声明没有实现时,该方法就是抽象方法,抽象方法必须定义在抽象类中。
  2. 抽象类不可以被实例化
  3. 抽象类必须由其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则这个子类还是抽象类。
Tips
  • 抽象类中也有构造函数,用于给子类对象进行初始化。
  • 抽象类可以不定义抽象方法,目的就是不让改类创建对象。
  • 抽象关键字不能和private共存:抽象需要被覆盖,与私有的目的矛盾
  • 不能和static共存:抽象方法运行没有意义
  • 不能和final共存
  • 抽象类一定是父类:需要子类覆盖后才能实例化
接口

当一个抽象类中的方法都是抽象的时候,这是就可以将该抽象类用接口定义。

  • 定义接口的关键字不是class,是interface
接口当中常见的成员
  1. 全局常量:public static final
  2. 抽象方法:public abstract
  3. 这些修饰符都是固定的,所以忘写了修饰符,系统会自动加上
实现

类与类之间是继承关系,类与接口之间是实现关系。

class DemoImpl implements DemoImpl
{
    public void show1()
    {}
    public void show2()
    {}
}
  1. 一个类可以实现多个接口,改良了多继承机制

class Test implements A,B

  1. 一个类在继承另一个类时,还可以实现多个接口

class Test2 extends Q implements A,B

  1. 接口与接口之间是继承关系,而且可以多继承,因为多继承的问题在于方法体上,而接口没有方法体,所以多继承不存在问题。
interface aa
{
    void show();
}
interface bb
{
    void method();
}
interface cc extends aa,bb
{
    void function();
}
class ee implements cc
{//覆盖三个方法
    public void show(){}
    public void menthod(){}
    public void function (){}
}
抽象类与接口的区别
  1. 抽象类需要被继承,而且只能单继承;接口需要被实现,而且可以多实现。
  2. 抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法;接口中只能定义抽象方法,必须由子类去实现。
  3. 抽象类的继承,是is a关系,在定义该体系的基本共性内容;接口的实现是like a 关系,在定义体系的额外功能。
abstract class{
    abstract void bark();
}
interface 导盲
{
    abstract void 导盲();
}
class 导盲犬 extendsimplements 导盲
{
    pubilc void bark()
    {}
    public void 导盲(){}
}
接口的应用

见练习代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值