【修饰符】 构造器名(形参表){
函数体
}

1修饰符可以是 public,protected,private
2 构造器名必须与类名相同
3构造器不能定义返回值类型,也不用void定义


公有public
私有private
保护仅仅供子类protected
默认,仅仅同包类访问

static:静态
final:不再变化
transient:非静态,只能用于变量
volatile:只能用于变量
abstract:抽象成员
synchronized:只能用于方法,同步


1 方法不可能独立存在,肯定是属于类或是对象的
2 抽象类可以避免子类设计的随意性,相当于提供了一种模式,指明了方向
3 包名应该小写,更易读
4 接口是方法的抽象,定义与实现分离,可以认为是对个体某一方面的抽象
4.1 接口肯定是public
4.2 interface
4.3 接口名与类名一样
4.4 接口中只有常量,不能声明变量:【公共性,静态性和最终性】


接口支持多继承

多态

即Polymorphism
强制的多态
重载的多态
参数的多态
包含的多态

多态的核心是类型的一致性—向上转型

内部类

有一些设计和编程问题很难解决,而内部类使用得多重继承的解决方案变得更完整。
接口解决了部分问题,而内部类有效地实现了“多重继承”

非静态内部类

成员内部类

局部内部类

静态内部类

匿名内部类

内部类仍然是一个独立的类,会生成class文件,但内部类不能用普通的方式访问


枚举类和枚举类型

接口和抽象类读解

1 接口和抽象类都不能实例化,用于其它类实现和继承
2 接口和抽象类都有抽象方法,子类要实现这些方法
3 但接口是体现规范
差别
1 接口只有抽象方法,抽象类中可有普通方法
2 接口不能有静态方法,抽象类可以
3 接口只能定义静态变量,不能定义普通属性,而抽象类都可以
4 接口没有构造器,抽象类可以有【辅助子类完成构造】
5 接口没有初始化块,抽象有类可以有
6 接口是多继承的,抽象类是单继承的


JAVA的集合

Set无序,不可重复
List有序,可重复
Map有映射关系的集合
Queue队列