学习笔记:面向对象继承和多态

继承的格式:class 子类 extends 父类{}        //一个子类只能有一个父类

 super关键字:指向父类,调用父类构造方法,访问父类属性,访问父类方法。条用super构造方法的代码必须在子类构造方法的第一行。

重写(Override):子类对父类方法体的重写

1、参数列表必须与被重写的方法完全相同

2、返回类型必须与被重写方法相同

3、访问权限不能比被重写方法访问权限更低

4、父类方法只能被它的子类方法重写

5、声明为static和private的方法不能被重写,但能被再次声明

重载(Overload):同一个类中同一个方法参数不同,比如无参构造方法和全参构造方法。

final关键字:

final int A;        //final 修饰的局部变量,只能赋值一次 (可以先声明再赋值),final修饰的成员属性,必须在声明时赋值。

全局常量 :public static final int A = 0;

常量命名:全部大写

final修饰的类,不能被继承。

final修饰的方法,不能被重写

抽象类 abstract:

关键字:abstract        //abstract class 抽象类名{ public abstract void 抽象方法名();}    

抽象类中可以没有抽象方法,抽象方法必须在抽象类中。

抽象类不能被实例化,即:不能被new

抽象类不能使用private修饰(必须能够被继承)

接口interface:

 定义格式:

interface 接口名称{

        全局常量;

        抽象方法;

}

面向接口的编程思想:接口是定义(规范,约束)与实现(名实分离的原则)的分离

1、降低程序的耦合性

2、易于扩展

3、利于维护

全局常量和抽象方法的简写:

因为接口本身都是由全局常量和抽象方法组成 , 所以接口中的成员定义可以简写:
1、 public static final String INFO = " 内容 " ;
简写后:
String INFO = " 内容 " ;
2、 public abstract void print() ;
简写后:
void print() ;
接口的实现 implements:
接口可以多实现:
class 子类 extends 父类 implements 父接口1,父接口2....{}
接口的继承:
interface C extends A,B { }

接口和抽象类的区别:

1、接口被实现,抽象类被继承

2、接口中只能有抽象方法

3、接口里定义的变量只能是公共的静态常量

4、抽象类不能多继承,接口可以多实现

5、抽象类中可以包含static方法,接口中不允许(以为静态方法不能被子类重写)

6、接口不能有构造方法

多态:多想的多种表现形式,多种体现形态

对象角度:子类同时也是父类

重载:一个勒种方法的多态体现

重写:子父类中方法的多态性体现

多态的使用:对象的类型转换

向上转型:子类变父类

父类 父类对象名 = 子类对象名;

向下转型:父类变子类——强制转型

子类 子类对象名 = (子类) 父类对象名;

关键字 instanceof

实例化对象 instanceof // 此操作返回 boolean 类型的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值