java基础二
泛型:
也就是装在集合当中的所有元素,全部都是统一的什么类型。
泛型只能是引用类型,不能是基本类型。
关于引用类型与基本类型的区别::https://blog.csdn.net/qq_31071255/article/details/82192075
在使用==时,对于基本类型来说,==是进行数值的比较,对于引用类型来说,==是进行地址值的比较
从jdk1.5+开始支持,自动装箱和自动拆箱
自动装箱:基本类型-----》自动变成引用类型,,,包装类型
自动拆箱:包装类型------》基本类型
String的构造方法和直接创建
publicstring()
publicString(char[]array)
publicString(byte[]array)
覆盖重写,@override,写在方法前面,检测是不是有效的覆盖重写,这个注解不写,只要满足条件也是覆盖重写,相当于是个检测手段,子类方
法的返回值,必须小于等于父类方法的返回值范围
JAVA中的接口
1、成员变量其实是常量,格式
【public】【static】【final】数据类型常量名=数据值
注意:常量必须进行赋值,而且一旦赋值就不能改变,常量名必须大写,用下划线进行分割
2、接口中的抽象方法
【public】【abstract】返回值类型方法名称(参数列表);
注意,实现类必须覆盖重写接口所有的抽象方法
3、从JAVA8开始接口允许定义默认方法,格式
【public】default返回值类型方法名称(参数列表)(方法体)
4、从JAVA8开始接口允许定义静态方法,格式
【public】static返回值类型方法名称(参数列表){方法体}
注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法
5、从Java9开始,接口里允许定义私有方法,格式
普通私有方法private返回值类型方法名称(参数列表){方法体}
静态私有方法privatestatic返回值类型方法名称(参数列表){方法体}
注意:private的方法只有接口自己才能调用,不能被实现类或别人使用。
JAVA中的抽象类
抽象类就是为了继承而存在
如果父类当中的方法不确定如何进行{}方法体的是实现,那么这就应该是一个抽象方法
1、不能直接创建抽象类对象,用一个子类来继承抽象类
2、子类必须实现(覆盖重写)抽象类中的抽象方法
3、创建子类进行使用
注意事项:
1、抽象类不能直接创建对象
2、抽象类中可以有构造方法,是供子类创建对象时,初始化父类成员使用的,理解:子类的构造方法中,有默认的super(),需要访问父类构造方法
3、抽象类中,不一定包含抽象方法也可以有普通方法也可以什么也没有(适配器模式),但是有抽象方法的类必须是抽象类
4、抽象类的子类,必须重写抽象父类中所有的抽象方法,除非该子类也是抽象类
抽象类与普通类的区别
包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别:
1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
2)抽象类不能用来创建对象;
3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
在其他方面,抽象类和普通的类并没有区别。
抽象类和接口有什么区别呢
1)抽象类可以提供成员方法的实现细节,而接口中只能存在publicabstract方法;
2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是publicstaticfinal类型的;
3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
java