传参
1.如果方法的形参是一个类的类型 则传给一个对象(this表示调用者的)
2.如果一个方法的形参要一个抽象类,则传给一个抽象类的子类对象
3.如果方法的形参要一个接口(里面的属性都是静态公共常量,可以直接通过类名.属性(方法)调用)类型,则传给一个子类对象
返回值
1.如果返回值要求一个类类型,则返回值是一个相应类的对象
2.如一个方法的返回值要求一个抽象类型,则返回这个抽象类的子类对象
3.如一个方法的返回值要求一个接口类型,则返回这个接口的子类对象
内部类

Out.In in = new Out().new In();

概念
内部类:将一个类A 定义到另外一个类B中当中,我们就称A是内部类,B是外部类。
根据内部类定义的位置不同,可分为 成员内部类和局部内部类
成员内部类:讲内部类定义到成员位置
局部内部类:讲内部类定义到外部类的方法中
特点
1.内部类可以访问外部类的成员包括私有的.
2.外部类想要访问内部类的成员,就要创建内部类的对象 用对象去访问。
3.内部类可以用private关键字修饰,之后其他类便不可以创建其对象,其外部类可以创建对象
4.内部类可以用 static(静态只能访问静态的,静态的先创建)修饰,修饰之后创建内部类语法发生变化,之后内部类只能访问外部类的静态成员和方法,如果想访问可以用在内部类中创建外部类的对象来调用解决。

Out.In in = new Out.new In();

5.局部内部类,外部类调用不到,可以在外部方法之中去创建内部类对象 用外部去掉用。
6.当局部内部类去访问外部类的局部变量,这个局部变量必须加final,必须变成常量默认会加上(局部变量会在方法调用之后就消失,但是内部类是一个类需要把变量变成常量才能使用)。
链式编程
链式编程:当调用玩一个方法之后会有一个返回值,这个返回值还可以调用其他方法,这个时候就可以直接加.来完成。
匿名内部类
匿名内部类:他是局部内部类的简写形式,匿名内部类本质上是一对象,是继承了该抽象类,或实现了该接口的子类对象。作为参数传递,或者作为对象。
Object
boolean equals(Object obj) 比较两个对象的地址值是否相同。

== 和equal 有什么区别?

== 是一个比较运算符 他可以比较基本数据类型,也可以比较引用数据类型,比较基本数据类型 是比较值是否相同,比较引用数据类型是比较其地址是否相同。
equal 是Object中的方法 只能比较引用类型是否相同。