一:形式参数问题
数据类型:byte,short,int,long,float,double,char,boolean
引用数据类型:类,接口,数组
形式参数:
基本类型:要的是该基本类型的数据值
对象
A:数组 要的是该数据类型的数组对象(地址值)
B:类 要的是该类或子类的对象(地址值)
C:抽象类: 要的是该抽象类的子类对象(地址值)
D:接口: 要的是该接口的实现类对象(地址值)
二:返回值问题
返回值:
基本类型:byte,short ,int,long,float,double,char,boolean
引用类型:类,接口,数组
返回值之基本类型:
基本类型:返回的是该基本类型的数据值
返回值之引用类型:
返回值是类名:其实返回的是该类对象或者其子类对象(地址值)
返回值是抽象类名:要的是该抽象类的子类对象(地址值)
返回值是接口名:要的是该接口的实现类对象(地址值)
三:内部类
定义:把类A定义在类B的内部,类A就被称为内部类
1 .访问特点:
内部类可以直接访问外部类的成员,包括私有
对象
成员位置:成员内部类
局部位置:局部内部类
3.成员内部类:
外界如何创建对象
外部类.内部类 对象名 = 外部类对象.内部类对象;
Outer.Inner oi =new Outer().new Inner();
内部类的关键词限定:
private:为了我们访问数据的安全性
class Body{
private class Heart{
public void operator(){
System.out.println("给心脏搭个桥");
}
}
public void method() {
if(你是医生吗?) {
Heart h = new Heart();
h.operator();
}
}
}
直接访问:
Body.Hert bh =new Body().new Heart();
bh.operator();
为了身体安全,外界是不能让他们直接创建对象,通过private进行修饰
这时候就可以用:
Body b= new Body();
b.method();
B:static 为了我们访问数据的方便性
class Outer {
public static class Inner {
public void show() {
System.out.println("show");
}
public static void show2() {
System.out.println("show2");
}
}
}
class InnerClassDemo3 {
public static void main(String[] args) {
// 限定的新静态类
//Outer.Inner oi = new Outer().new Inner();
/ /格式:
Outer.Inner oi = new Outer.Inner();
oi.show();
oi.show2();
//Outer.Inner.show();
Outer.Inner.show2();
}
}
4.匿名内部类
没有名字的局部内部类,就是内部类的简化写法
前提:
存在一个类或者接口
这里的类可以是具体类也可以是抽象类
格式:
new 类名或者接口名(){
重写方法;
};
对象。