1.研究引用类型的形式参数和返回值
- 形式参数:
- 是类名时:需要该类的对象(day07-1匿名对象部分讲过这点)
- 是抽象类名时:需要该类的子类对象(因为它本身不能实例化,只能通过子类实例化)
//抽象类一旦没有对应的具体类就用不了 - 是接口名时:需要该接口的实现类对象
interface Love {
public abstract void love();
}
class LoveDemo {
public void method(Love l) {//l;l=new Teacher();Love l=new Teacher();多态
l.love();
}
}
//定义具体类实现接口
class Teacher implements Love {
public void love() {
System.out.println("老师爱学生,爱Java,爱林青霞");
}
}
class TeacherTest {
public static void main(String[] args) {
//需求:测试LoveDemo类中的love()方法
LoveDemo ld = new LoveDemo();
Love l = new Teacher();
ld.method(l);
}
}
- 返回值:
- 是类名时:返回的是该类的对象
- 是抽象类名时:返回的是该抽象类的子类对象
- 是接口名时:返回的是该接口的实现类的对象
- 链式编程:
- 格式:对象.方法1().方法2()…方法n();
除了方法n,它可以返回一个对象也可以返回一个值,前面每次调用完方法后,返回的是一个对象
2.包(理解)
- 概述:其实就是文件夹
- 作用:
- 区分同名的类(day02-1标识符提到过)
- 对类进行分类管理:
- 注意事项:
- package语句必须写在文件第一行的第一条
- 在一个java文件中,只能有一个package
- 如果没有package,默认就是无包名
- 带包的编译和运行
3.导包
-
引入:不同包下的类之间的访问,我们发现,每次使用不同包下的类的时候,都需要加包的全路径。比较麻烦。这个时候,java就提供了导包的功能
-
格式:
-
import 包名.类名; //用谁导谁就好
-
import 包名…*;(最好不要这么做)
-
面试题:package,import,class的顺序
-
package > import > class
一个文件中,package只能有一个,import和class可以有多个
注:但class只能有一个是public的,且建议一个文件放一个class较好