Import Project
Exisiting project into WorkSpace
类是总称,对象是个体
需求提取类,抽象过程,重复使用,加快开发速度
创建类就是创建一个新的数据类型
类:
1)成员变量(数据区)
2)成员方法(操作方法,算法,行为)
公共方法访问私有数据
类:派生,继承,父子
接口:implements
不成文规定,常用风格,语言规范
数据定义放在最上面
构造方法的定义中间
一般成员方法的定义下面
只有一个public类,一般含有main方法
构造方法和类同名
构造方法没有返回类型,不一定是public,98%是public
因为希望调用构造方法,完成类的实例的初始化
Java中,所有默认的类都是Object这个父类,可省略
super(); 调用直接父类Object中的super方法
局部变量一定要赋初值,
全局变量可以不用,直接填充null,0,等等
this 代表本类,尤其是方法中重名的时候
super 代表父类
类的设计原则
取有意义的名字
数据尽量设计为私有属性
尽量对变量进行初始化
类的功能尽量单一
数据库的表单是粗粒度的
类的设计是细粒度的
构造函数constructor 构造方法是特殊的成员方法
和类同名
没有返回类型返回值
可以构成方法重载
调用取决于构造参数的匹配
new关键字运行时动态分配内存
系统会自动生成无参构造,调用的是直接父类Object默认的无参构造方法, 所以即便没有构造方法也可以
对象生命和初始化
用这个类去定义一个对象MyDesk:
Desk MyDesk;
用new为其开辟存储空间
MyDesk = new Desk();
定义类对象并为其开辟空间
Desk MyDesk = new Desk();
java内存
代码区 code area
数据区 data area | static
堆区 heap area | new+构造方法
栈区 stack area | 局部变量,swich case等等
final 在静态数据区,运行前
静态方法中没有this
static | 类变量,类方法,静态数据区
正常类中,都是实例变量,放在堆上,heap,还有实例方法
静态方法可以直接调用静态方法
so, mian方法可以直接调用
面试题:
WMjava特训班5.12
静态代码块与非静态代码块的异同点:
难点!!!!!!!!!!!
封装是指隐藏对象的属性和实现的细节,仅仅对外公开接口
public, private, protected, 默认(没有访问权限)
WM 5.16 protected源码测试!!!!!!!!!!!!!
继承 - is 派生与继承
复用 - has 包容
追求软件最大程度的复用于下一个工程
Java不支持类的多继承,但是支持接口的多继承
关键字 extends