返回值类型的问题:
基本数据类型
引用数据类型:
类:当类作为方法的返回值的时候,实际上需要返回一个该类的对象
抽象类:当抽象类作为方法的返回值的时候,实际上需要返回一个该抽象类的一个具体子类的对象
接口:当借口作为方法的返回值的时候,实际上需要返回一个实现该接口的一个具体类的对象

//链式编程
demo6.show2().show();

形式参数的问题:
基本数据类型
引用数据类型:
类:当类作为方法形式参数的时候,实际上需要的是该类的对象
抽象类:当抽象类作为方法形式参数的时候,实际上需要的是该抽象类具体子类的对象
接口:当接口作为方法形式参数的时候,实际上需要的是该接口具体实现的类

内部类:
把类定义在其他类的内部,这个类就被称为内部类。
举例:在类A中定义了一个类B,类B就是内部类。

内部类的访问特点:
1、内部类可以直接访问外部类的成员,包括私有。
2、外部类要访问内部类的成员,必须创建对象。

内部类的两种分类格式:(按照内部类在外部类中定义的位置不同导致的)
1、成员内部类(定义在成员的位置上)
2、局部内部类(定义在局部范围内)

成员内部类:
1、成员内部类可以访问外部类的成员,包括私有
2、那么如何创建内部类的对象呢?
正确创建成员内部类的对象的格式:
外部类名.内部类名 对象名 = new 外部类名(..).new 内部类名(..);

成员内部的常见修饰符
private 为了保证数据的安全性
static 为了让数据访问更方便
注意:被静态修饰成员内部类所访问的数据也应该是被static修饰的
另外一种方式创建内部类,当成员内部类被静态所修饰后,访问的格式发生了变化:
外部类名.内部类名 对象名 = new 外部类名.内部类名();

局部内部类:
在JDK1.8之后,在局部内部类用到的局部变量会自动添加上一个final修饰

匿名内部类:
简单理解:其实它就是内部类的一个简化写法。
前提:
前提是要存在一个接口或者是一个类(注意,这里的类可以是具体的类也可以是抽象类)

匿名内部类的语句格式:
new 类名或者接口名(){重写方法};
这里其实做了两步:
1、创建了一个类实现了Inter接口并重写了接口中的方法
2、创建了该类的对象

public class ObjectClass Object是类Object结构的根。
每个class都有Object作为超类。
所有对象(包括数组)都实现了这个类的方法。
public String toString() 返回对象的字符串表示形式。
换句话说,这个方法返回一个等于下列值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())

public final 类<?> getClass()返回此Object的运行时类。
返回的类对象是被表示类的static synchronized方法锁定的对象。

public int hashCode()返回对象的哈希码值。
通过默认的哈希函数将地址值计算出一个int类型的数值,简单记忆:这个结果值其实就代表一个地址值。
支持这种方法是为了散列表,如HashMap提供的那样 。

Integer类中有一个方法:toHexString(int i)
public static String toHexString(int i) 返回整数参数的字符串表示形式,作为16位中的无符号整数。

一个标准类的最终写法:
成员变量(用private修饰)
构造方法(一个无参一个有参)
getXxx()和setXxx()
toString()

 

修饰符
权限修饰符: 同一类中       同一包子类,其他类      不同包子类     不同包其他类
public·                   √         √             √             √
protected    √         √          √
默认的      √         √
private         √

类及其组成可以用的修饰符
静态修饰符:static
抽象修饰符:abstract
权限修饰符:public,protected,默认的,private
常量修饰符:final

类:
抽象修饰符:abstract
权限修饰符:public,默认的
常量修饰符:final
成员变量:
权限修饰符:public,protected,默认的,private
静态修饰符:static
常量修饰符:final
构造方法:
权限修饰符:public,protected,默认的,private
成员方法:
权限修饰符:public,protected,默认的,private
静态修饰符:static
抽象修饰符:abstract
常量修饰符:final


常见的修饰符组合:
1、public static
2、public static final
3、public abstract