1.形式参数和返回值问题
形式参数
1)基本数据类型:要什么数据类型,在实际传参的时候就传什么数据类型
2)引用类型:
具体类:如果形式参数是一个具体类,那么需要创建该类对象
抽象类:如果形式参数是抽象类的情况,那么需要自定义一个抽象类的子类,来进行实例化(创建对象)!创建对象的实质:抽象类多态!
接口:如果形式参数是接口情况,那么需要自定义一个接口的子实现类,然后通过接口多态的形式给接口进行实例化!(接口多态)
返回值类型
1)基本类型:要求什么数据类型就传出什么数据类型的数据
2)引用类型:
具体类:直接返回该类对象(通常实际开发中使用的是匿名对象)
抽象类:返回值如果是抽象类,需要的返回是该抽象类的子类对象
接口:返回值如果是接口类型,需要的是返回该接口的子实现类对象(通过子实现类进行实例化)
2.内部类的概述及访问特点
在一个类中定义另一个类,那么把这种情况叫做内部类
内部类是直接可以访问外部类的成员,包括私有
外部类想要访问内部类的成员,必须通过创建内部类的对象访问该内部类的成员
3.内部类的分类
成员内部类:在外部类的成员位置
局部内部类:在外部类的局部位置定义的这个类
4.匿名内部类的格式和应用及面试题
匿名内部类:是内部类的简化版格式
格式:
new 接口名或者类名(){
方法重写;
}
匿名内部类面试题:
按照要求,补齐代码
interface Inter { void show(); }
class Outer { //补齐代码 }
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
要求在控制台输出”HelloWorld”
应补充:
public static Inter2 method(){
return new Inter2(){
public void show() {
System.out.println("helloworld");
}
} ;
}