01_类名作为形参和返回值
*类名作为方法的形参和返回值,其实需要的和返回的是该类的对象,看下面案例:
02_抽象类名作为形参和返回值、
*方法的形参是抽象类名,其实需要的是该类的子类对象
*方法的返回值是抽象类名,其实返回的是该抽象类的子类对象
03_接口名作为形参和返回值
*方法的形参是接口名,其实需要的是该接口的实现类对象
*方法的返回值是接口名,其实返回的是该接口的实现类对象
04_内部类
概念:
一个类定义在另一个类里面,这个里面的类称为内部类,这个外面的类称为外部类
内部类也叫嵌套类,密封类.我们重点掌握匿名内部类。
匿名内部类(掌握):
1.为什么使用匿名内部类?
有些子类或接口的实现类只创建一次对象,可以用匿名内部类替换,可以少写很多.Java文件格式
new 类名/接口名() {重写方法}
2.格式的理解
匿名的子类对象/匿名的接口实现类对象
3.内部类在实际开发中的应用
接口多态
- 写一个接口
- 写一个使用类,写一个方法,方法的参数是接口类型
- 在启动类的main方法中,创建使用类对象,调用方法,传入匿名内部类
09_Math(数学相关的都可以找Math)
10_System
代码演示:
11_Object类的toString()方法
注意:Object是类层次结构的根类.任何类都直接或间接继承Object类,包括数组
class Animal {
}
class Cat extends Animal {
}
打印一个对象,其实就是打印对象的toString()返回值
Person p = new Person("jack",19);
System.out.println(p); //和下面效果一样
System.out.println(p.toString());//和上面效果一样
注意:
//注意: p 和 p.toString() 不是一回事
// 只是 System.out.println(p); 和 System.out.println(p.toString());效果一样
// System.out.println(p == p.toString()); //都不是一个类型,不能使用==比较
Object类的toString()方法:默认返回的是对象的地址值,一般没什么意义,我们一般会重写toString()返回对象成员变量的字符串形式,使用快捷键 alt+insert即可
双击shift,输入Object,可以打开这个类的源码
12_冒泡排序原理
要点:
- 相邻元素两两比较,大的往后放,第一轮完毕,最大值就出现在最大索引处
- 总共比较N - 1 轮 (每一轮找一个最大出来)
- 每比较一轮, 下次比较就少一个数据参与
代码演示: