Java基础

一.重载和重写

重载:
发生在同一个类中
相同的方法名
参数列表不同
不看返回值,如果出现了只有返回值不同的“重载”,是错的
重写:
发生在子类与父类中
相同的方法名
相同的参数列表
返回值相同 或者 子类方法的返回值是父类方法返回值类型的子类
访问修饰符相同 或者 子类方法的修饰符范围 大于 父类
抛出的异常相同 或者 子类方法抛出的异常 小于父类

二.this关键字

1.代表当前对象
2.this就是所在函数所属对象的引用,简单来说,哪个对象调用了this所在的函数,this就代表哪个对象。
3.当成员变量和局部变量重名,可以用关键字this区分。

三.继承,封装,多态

继承
当多个类之间有相同的特征和行为时,可以将相同的内容提取出来组成一个公共类,让多个类吸收公共类中已有的特征和行为而在多个类型中只需要编写自己独有的行为的机制.
特点:
1.子类不能继承父类的构造方法和私有方法,但私有成员变量可以被继承,但不能直接使用,通过共有的get,set方法来实现。
2.自动调用父类无参构造方法,来初始化从父类继承的成员变量
3.java支持单继承
封装
对成员变量进行密封包装处理,来隐藏成员变量的细节以及保证成员变量
值的合理性。
特点:
1.私有化成员变量
2.公有化get,set方法
多态
同一种事物表现出来的多种形态。
特点:
1.当父类类型的引用指向子类类型的对象时,父类类型的引用可以直接调用
父类独有的方法,不可以调用子类独有的方法。
2.对于父子类都有的非静态方法来说,编译阶段调用的父类版本,运行阶段
调用子类版。
3.对于父子类都有的静态方法来说,编译和运行阶段调用父类的版本。

四.抽象方法和抽象类

抽象方法主要指不能具体实现的方法并且有abstract关键字修饰,没有方法体。
抽象类主要是指不能具体实例化的类并且使用abstract关键字修饰,也就是不能创建对象。
特点:
1.抽象类中可以有成员变量,构造方法,成员方法。
2.抽象类中可以有抽象方法也可以没有抽象方法
3.拥有抽象方法的类必须是抽象类。
意义:
1.抽象类的实际意义不在于创建对象而在于被继承。
2.当一个类继承抽象类后必须重写抽象方法,否则该类也变成抽象类,也就是抽象类对子类具有强制性和规范性,因此叫模板设计模式。

五.接口

接口就是比抽象还抽象的类,体现在所有方法都为抽象方法。
特点:
1.里面只能有常量(public static finall 修饰)
2.只能有抽象方法(从jdk1.9开始允许接口中出现私有方法,私有方法在本接口中可以实现代码的复用)
3.接口继承接口,不能继承类。
4.接口与接口之间支持多继承。

六.接口与抽象类的区别

1.定义抽象类的关接口的关键字是键字是abstract class,而定义接口的关键字是interface
2.继承抽象类的关键字是extends,而实现implements。
3.继承抽象类支持的单继承,而实现接口支持多实现。
4.抽象类中可以有构造方法,而接口中不可以有构造方法。
5.抽象类中可以有成员变量以及成员方法,而接口中只能有常量和抽象方法。
6.从java8开始增加新特性,接口中允许出现非抽象方法和静态方法(省略对象的创建),但非抽象方法必须使用default修饰。

七.特殊类

7.1内部类

当一个类的定义出现在另一个类的类体时,那么这个类叫做内部类。分为普通内部类,静态内部类,局部内部类,匿名内部类。
实际作用:
当一个类的存在价值仅仅是为某一个类单独服务时,那么就可以将这个类定义为所服务类中的内部类,这样可以隐藏该类的实现并且可以方便的访问外部类的私有成员而不再需要提供get和set方法。
普通内部类
普通内部类需要使用内部类对象来创建对象
如果内部类访问外部类中与本类内部同名的成员变量或者方法时,需要使用this关键字。
局部内部类
class关键字前面没有修饰符
局部内部类只能在该方法的内部可以使用。
局部内部类可以在方法体内部直接创建对象。
局部内部类不能使用访问控制符和static关键字修饰符。
局部内部类可以使用外部方法的局部变量,但必须是final的。由于声明周期不同所致。
匿名内部类
匿名内部类可以节内存空间

7.2回调模式

如果一个方法的参数是接口类型,则在调用该方法时,需要创建并传递一个实现此类接口的对象;而该方法在运行时会调用到参数中所实现的方法。

八.注解

注解又叫标注,是从java5开始增加的一种引用数据类型。
注解本质上就是代码中的特殊标记,通过这些标记可以在编译,类加载,以及运行时执行指定的处理。
访问修饰符 @interface 注解名称{
注解成员;
}
注解中只有成员变量,没有成员方法的概念,注解的成员变量以“无参的方法”形式来声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值