java学习笔记02

此文章是写在二轮java复习,用来总结在刚开始学java时没注意的知识点。

-----------------------------------------------------------------

1)抽象类中可以有非抽象的构造方法,但不能有静态方法即static和abstract不能连用,抽象类不能被实例化,不能被private保护,因为抽象方法需要让子类实现,抽象类只能被单继承,接口可以多继承并且可以由多个类实现。

--当类c需要使用已存在的类a和类b中的方法,可以使用组合关系,即在类a作为类c的一个成员变量,然后将要用的方法在类c中重新定义mathon()并且在函数体中用a.mathon()直接复用。

2)继承

子类继承了父类,就继承了父类的方法和属性。在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。因而,子类通常比父类的功能更多。在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”

子类不能继承父类中私有的(private)的成员变量方法。(!不继承父类的构造方法,需要自己写或者super调用父类的构造方法)

3)重载

 方法重载就是在同一个类中允许同时存在一个以上的同名函数,只要它们的参数个数或类型不同,参数序不同即可。

  1. 方法重写

在子类中可以根据需要对从父类中继承来的方法进行改造—覆盖方法(方法的重置、重写),在程序执行时,子类的方法将覆盖父类的方法。覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型。盖方法不能使用比被覆盖方法更严格的访问权限,子类覆盖方法的权限>=父类被覆盖方法的权限

  1. Super

在Java类中使用super来引用父类的成分

super可用于访问父类中定义的属性

super可用于调用父类中定义的成员方法

super可用于在子类构造方法中调用父类的构造方法

super的追溯不仅限于直接父类

6)final

在Java中声明类、属性和方法时,可使用关键字final来修饰。

final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。

final标记的类不能被继承。提高安全性,提高程序的可读性。

final标记的方法不能被子类重写。增加安全性。

final标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才能使用。

7)多态

由继承而出现的父类与子类,当需要用到父类时,可以直接使用子类代替

父类类型的引用变量可以指向子类的对象

动态绑定:编译时e为Person类型,而方法的调用是在运行时确定的,所以调用的是Student类的getInfo()方法。

一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法(!但可以访问子类中重写过的方法)

即:Animal a=new Duck();//合法  --->动态绑定

Duck d=new Animal();//不合法

 这里a2.cry在父类输出Animal Cry!,在子类重写过后输出Duck cry again!(相当于执行一次Duck.cry())

父类与子类的引用可以相互转换,但是将基类向子类转换时,需要强转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值