回顾以前的java
System.out.println(card1);打印的是对象的话会自动调用我们重写的toString方法
这个方法通常在Object
类中定义,所有的Java类都继承自Object
类
实例方法有个this,谁调用这个方法谁就是this
1.练习重写实例方法,调用this
调用object的equals,实际是判断地址相不相等的
我们重写,
再运行上面就是true
2联系匿名数组,...a数组参数
...a数组参数称为可变参数,写到普通参数后面
3练习泛型
泛型参数
为什么要泛型,类型不定死.,只能是包装型,不能是基本类型
,只有一个类型,T扩展了number类型
泛型类:
public class Circle<T extends Number>
定义了一个名为Circle的类,它是一个泛型类。这里的<T extends Number>
是泛型声明,表示这个类可以处理任何扩展Number类的对象。下面r的整数取出来,再转为Integer类型
下面我们定义一个对象是包装器类型,不是可以传入包装器类型,他就是
private T r;public Circle(T r) { this.r = r; }然后调用的构造方法,打印我们的area,返回a,判断r属于什么,先把r转化为整型进行乘除,再转换为整型,因为后面要把整型转化为Integer类型.因为我们area方法是返回T包装器类型,所以再转化为T类型
泛型方法 规定返回值,传入值
4包装器与整形转换:
Integer i=1; int j=i;Integer i=1自动调用Integer.valueof()
int j=i;基本类型给包装,自动调用intvalue()方法
下面强制步入看
抽象类
不能创建实例,抽象类不能实例化对象
抽象与接口
抽象类有一半类的的一切,还有抽象方法
接口只有哦静态终止字段,接口允许有抽象方法和普通方法(必须加上defalt),
子类抽象方法默认public,static