一、形式参数问题

数据类型:分为基本数据类型和引用数据类型。

基本数据类型:四类八种(整型byte int short long字符型char 布尔型boolean 浮点型float double)

引用类型:数组、接口、类

形式参数:

基本类型:就是该基本类型的数据值。

引用类型:要的是该引用类型的对象。
A:数组 要的是该数据类型数组的对象。(地址值)
B:类   要的是该类或者其子类的对象。(地址值)
C:抽象类 要的是该抽象类的子类对象。(地址值)
D:接口 要的是该接口的实现类对象。(地址值)

二、返回值问题

返回值:

基本类型:就是返回基本类型的数据值

引用类型:

返回值是类名:其实返回的是该类对象或者其子类对象。(地址值)
返回值是抽象类名:要的是该抽象类的子类对象。(地址值)
返回值是接口名:要的是该接口的实现类对象。(地址值)

三、权限修饰符

java 多元返回 java四种返回值类型_类对象

四、内部类

内部类:把累A定义在类B中,类A就被称为内部类。

访问特点:

A:内部类可以直接访问外部类的成员,包括私有。

B:外部类要访问内部类的成员,必须创建对象。

内部类分类:

成员位置:成员内部类

如何创建对象

外部类名.内部类名 对象名 = 外部类对象.内部类对象;

局部位置:局部内部类

 内部类的关键词限定:

以Body 、Heart举例:

class Body {
			private class Heart {
				public void operator() {
					System.out.println("给心脏搭个桥");
				}			
			}

			public void method() {
				if(你是医生吗?) { 
					Heart h = new Heart();
					h.operator();
				}
			}
		}



直接访问:Body.Heart bh = new Body().new Heart();

bh.operator();

为了安全,不能让外界直接创建对象。通过private修饰内部类。

Body b = Body();

b.method();

成员内部类的修饰:
A:private 为了我们访问数据的安全性
B:static  为了我们访问数据的方便性

局部内部类:

A:可以直接访问外部类的成员,包括私有
B:在成员方法中创建局部内部类的对象,调用局部内部类的功能

匿名内部类:

没有名字的局部内部类,就是内部类的简化写法


前提:
存在一个类或者接口
这里的类可以是具体类也可以是抽象类。


格式:
new 类名或者接口名() {
重写方法;
};


本质:
是一个继承了类或者实现了接口的子类匿名对象。

例子、在类中创建一个方法,引用接口,将其实例化,在通过另一个类调用此方法

interface Inter { void show(); }
class Outer {      	
	public static Inter method(){
		return new Inter(){
			public void show(){
				System.out.println("helloworld");
			}
		};
		
		
	}

	
}
class InnerClassTest {
	public static void main(String[] args) {
		  Outer.method().show();
		  
	  }
}