java几种类的形式以及接口的形式

来源:互联网 发布:nginx配置ssl双向验证 编辑:程序博客网 时间:2024/05/20 03:44

内部类
类里面继续定义类(内部类和外层封装它的类存在逻辑上的所属关系);
使用内部类的的主要原因有:
1.内部类可以访问外部类的数据,包括私有的数据;
2.内部类可以对同一个包的其他类隐藏起来;
3.想要创建一个回调方法且不想写大量编码时,使用匿名内部类较便捷,减少类名冲突;
super
功能有:
1.点取已经覆盖了的方法;
2.作为方法名表示父类的构造方法;
3.调用隐藏变量和被覆盖的方法;
抽象类
由abstact修饰, 类里面可以定义抽象方法,还可以包含具体的方法与变量,类即使不包含抽象方法也可以被定义成抽象类,防止被实例化(抽象类不能被实例化,抽象方法只能在子类中被实现);
抽象方法:有abstract修饰,没有方法体,没有{};
说明:抽象类不能被直接使用,必须子类去实现抽象类,实例化子类,创建一个变量,其类型是抽象类,并让他指向具体子类的一个实例,可以使用抽象方法充当形参,实际实现类作为实参,也是多态的运用;
接口(interface):概念及其使用:
抽象类中可以定义一个或多个抽象方法,接口中所有方法都是抽象方法,不能有方法体,使用implements实现接口中的方法(指定一个类必须去做什么,而不是如何去做);
接口中申明的变量默认修饰符都是public static final的,必须显示初始化,null也行,在常量中申明往往可以省略这些修饰符,接口是若干常量和抽象方法的集合,接口无构造方法,所以不能被实例化;
注:接口不实现另一个接口,但可以继承其他多个接口(逗号隔开);
接口必须通过类来实现它的抽象方法,然后实例化类去调用重写方法;
一个类 可以边实现接口边继承:修饰符+class+类名+extends+父类+implements+多个接口{};
接口与抽象类的区别
1.抽象类可以为部分方法提供实现,提高代码重用性,接口中只包含抽象方法;
2.一个类只能继承一个直接的父类(可能是抽象类),一个类可以实现多个接口;
Java泛型详解
针对不同的数据类型,可以借助方法重载还可以借助自动装箱和向上转型,基本数据类可以自动装箱转换成对应的包装类,object是祖先类,任何一个类都可以向上转型成object类EX:int–>integer–>object;
泛型类(Java class)可以接受任意的数据类型
泛型方法:既有普通的参数,也有类型的参数,类型参数需在修饰符后返回值前定义,泛型方法不必指明参数类型,编译器会根据传递的参数自动查出具体类型,泛型方法除了定义不同,调用与普通方法无区别;
Java泛型通配符和参数类型的范围
参数类型范围:泛型中,不对类型参数进行限制,它会接受任何的数据类型(被定义过的),但只需要一部分数据,传递其他的就会引起错误,限定则会起作用(限制关键字extends)后面可以是类也可以是接口(多个用&隔开),如继承number(数值类)类的类型,或是实现了xx接口的类型;

0 0