面向对象中形式参数和返回值的问题:
方法的形式参数是基本数据类型:
传递对应的数据类型的这种值;
方法的形式参数是引用数据类型:
1.如果引用类型是(具体)类:需要传递该类的具体对象
2.抽象类:需要传递的是该抽象类的子类对象
3.接口:需要传递该接口的子实现类对象
方法返回值的问题
1.具体类 :返回的该具体类的对象
2.抽象类 :返回的该抽象类的子类对象
3.接口 :返回该接口的子实现类对象的
内部类:
分类:成员内部类和局部内部类。
特点: 1)内部类他都可以去访问外部类的成员,包括私有。
2)外部类成员访问内部类成员:需要创建内部类对象,由内部类对象访问内部类。
当成员内部类为非静态时:
格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;
Outer.Inner oi = new Outer().new Inner();
对象名.内部类中的方法();
oi.show();
当成员内部类为静态时:
格式:外部类名.内部类名 对象名 = new 外部类名.内部类名() ; Outer.Inner oi = new Outer.Inner() ;
对象名访问.方法();
oi.show();
注意:静态的成员内部类中,不管成员方法是静态的还是非静态的,只要访问外 部类的成员,该成员必须被static修饰!
匿名内部类:
前提:接口/类(具体类/抽象类)
格式:
new 接口名/类名(){
重写或者实现方法();
} ;