java学习记录

代码块:普通代码块、构造块、静态块
·其中只有静态块比较特殊,因为他先于主方法执行。
内部类:
·有点:可以方便的访问外部类中的私有操作;缺点是破坏了程序的结构;使用static声明的内部

类就是外部类;内部类可以在方法中声明,但是如果要访问方法中的参数,则参数前必须加上final

关键字;

final声明的类不能有子类,使用final声明的类就表示断子绝孙了;声明的方法不能被子类复写;

声明的变量就是常量。在java中声明常量是,标示符一定大写;在final中也存在一个很重要的概念

:使用public static final声明的常量是全局常量。

方法复写或者重组中,返回值类型必须一致,只有参数类型或者个数可以改变,这一点十分重要;

在使用子类实例化对象调用类中被覆写过的方法时,调用的永远是被覆写过的操作;在方法覆写中

应该注意访问权限的问题,子类覆写的方法的访问权限不能比父类的小,访问权限由小到大

private<default<public,如果父类方法用private声明权限,则子类的方法不是覆写,而是重写定

义;如果希望调用父类中被子类覆写过的方法,则只能通过super.方法()的形式调用。

 


对于抽象类来讲,不能直接进行实例化操作,但是可以声明,如果要想使用抽象类,则必须依靠子

类,抽象类不需被子类继承,而且子类需要实现抽象类中的全部方法。抽象类不能用final声明,

final声明的类没有子类,但是抽象类声明的类必须有子类。抽象类中可以有构造方法,但是此构造

方法不能直接调用,只能有子类调用,子类的实例化过程,永远是先调用父类构造方法。实际上来

讲,抽象类就是普通类多了一个抽象的方法而已。抽象类中的属性如果想要初始化的话,则可定依

赖该抽象类的构造方法,但是也可以通过一系列的setter和getter方法进行初始化,但是这样比较

麻烦,需要通过子类对父类的setter方法进行调用进而赋值。*抽象类中的方法必须被子类全部复写

接口是一个特殊的类,java中接口是有抽象方法和全局常量组成。接口与抽象类一样也有子类,那

么接口的子类不是继承类,而叫做实现接口,通过implements关键字完成。接口中的方法同样需要

实现的子类全部复写,接口中方法或者属性的作用域默认为public abstract的,允许声明是不加。

接口类的末尾可以不加“;”如果一个类既要实现继承又要实现接口的话,则不需按照以下格式进行

书写:
class 子类 extends 抽象类 implements 接口A,接口B...{}。一个抽象类可以继承多个接口但是

一个一个接口不能继承一个抽象类,但是一个借口也可以继承多个接口。


多态性是面向对象的最后一个特征:
·方法重载和方法重写实际上就属于多态性的一种体现;
·真正的多态性还包含一种称为对象多态性的概念.
 对象多态性主要指的是,子类和父类对象的互相转换关系;
向上转型:父类 父类对像=子类实例----自动完成;
向下转型:子类 子类对象=(子类)父类实例-----强者完成;多态调用灵活,增加了java的灵活性

,程序更加有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值