Java知识点(六)

接口:使用interface关键字进行修饰,是Java的一种引用类型,是方法的集合,封装了方法,包含抽象方法、默认方法、静态方法、私有方法。

接口也会被编译成.class文件,但不是类,而是一种引用类型。
接口不能被创建对象,但是可以用implements关键字被实现。实现接口的类,需要实现接口的所有抽象方法创建该类对象,就可以调用该方法了,否则必须是抽象类
接口无法定义变量,可以定义常量,默认public static final修饰。
接口没有静态代码块

接口的定义格式:

public inferface 接口名称{
			//abstract修饰的抽象方法
			//default修饰的默认方法
			//static修饰的静态方法
			//private修饰的私有方法

接口的实现类定义格式:

非抽象子类实现接口:
class 类名 implements 接口名{
			//必须重写接口的抽象方法;
			//可以重写默认方法,也可以直接调用;

接口的默认方法只能通过实现类的对象调用。
静态方法与.class文件相关,实现类无法重写静态方法,只能由接口名调用
私有方法: 只有接口的默认方法可以调用。
私有静态方法默认方法静态方法可以调用。

接口的多实现: 一个类可以实现多个接口:

class 类名 [extends 父类] implements 接口1,接口2{
		//有抽象方法时,必须重写接口的抽象方法,若有重名,只需重写一次
		//有默认方法时,可继承使用,若有重名的,必须重写一次。
		//静态方法通过各自接口名调用。
}		
若接口中有默认方法与父类同名,子类就近原则选择执行父类的成员方法。

接口的多继承:接口通过extends继承另一个或多个接口,父接口有重名的默认方法,子接口需要重写一次。(注:子类重写默认方法不能有default,子接口重写可以保留。)

多态:同个行为具有多种不同表现形式。

多态的前提
一、继承实现
二、方法的重写
三、父类引用子类对象
多态的体现
父类类型 变量名 = new 子类对象; =>引用类型的向上转型。
变量名.方法名();
多态在调用方法时,若父类没有该方法,编译错误;若执行的是子类重写的方法。
多态的好处:调用方法时,将父类类型作为形式参数传递子类对象方法

引用类型的向下转型:当使用多态时,调用子类有 而父类没有的 方法。

格式:子类类型 变量名 = (子类类型)父类变量名;
通过instanceof关键字,防止ClassCastException类型转换错误的问题。

格式: 变量名 instanceof 数据类型。若,返回true;否则,返回false

final关键字:不可改变的类、方法、变量(引用类型地址不能再更改)。

注: for(int i = 0; i< 10; i++){
			final int c = i;
			Sout(c);
	}//通过编译,因为每次循环,都是新的变量c。
成员变量的初始化://final修饰的常量通常全大写
显示初始化: final String NAME = “张三”;
构造方法初始化: this.NAME = NAME;

权限修饰符:

区别publicprotecteddefaultprivate
同一类
同一包中
不同包子类
不同包的无关类

一般来说:
成员变量用private,隐藏细节;
构造方法使用public,方便创建对象;
成员方法使用public,方便调用方法。
不加权限修饰符,访问能力和default一样。

内部类:一个类定义在另一个类里面;外面的类叫外部类。

格式:外部类名.内部类名 对象名 = new 外部类型().new 内部类型();
内部类可以直接访问外部类成员,包括私有成员。
外部类要访问内部类的成员,需要建立 内部类的对象。
内部类编译后成独立的.class文件,前面冠以外部类的类名和 。 如 : W a i B u L e i 。如: WaiBuLei :WaiBuLeiNeiBuLei.class。

匿名内部类:带具体实现的 父类或父接口 匿名的 子类对象。

前提: 继承一个父类或者实现一个父接口
格式: new 父类名或者父接口名(){
//方法重写
};
当方法的形式参数是接口或者抽象类时,可以将匿名内部类作为参数传递。

引用类型用法:

当类作为成员变量,进行赋值时,实际上是赋给该类一个对象
interface接口作为成员变量,对它进行赋值操作,实际上是赋给该接口一个子类对象interface接口作为方法参数时,传递的是它的子类对象作为返回值类型时,返回的是它的子类对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值