类别和对象的关系:
类是对同一类事物(对象)的抽象 对象实际存在的该类的各种实体。
面向对象编程的核心:找到合适的对象来做合适的事
Java中如何来找到对象:
- sun 自己定义好的类 ,必须知道这个类
- 自定义的类 通过自定义的类来创建对象
类的格式:
Class 类名 {
- 属性(成员变量):描述对象的公共特性
- 方法:描述对象的公共行为
}
如何通过类创建对象:
类名 对象名 = new 类名();
如果if 省略大括号 会将if下的第一个语句,作为判断的结果处理
匿名对象:没有名字的对象
匿名对象的使用注意点:
- 一般不会用匿名对象给属性赋值,无法获取属性值
- 匿名对象永远都不可能是同一个对象
匿名对象的好处:书写简单
匿名对象的使用场景:
- 如果一个对象需要调用一个方法一次的时候,就可以用匿名对象来调用
- 可以作为实际参数在方法中调用
在java中类似OC 中的初始化方法叫做构造方法
OC初始化方法的特点:
- 可以在对象创建时初始化属性值
- 初始化方法只能被调用一次
构造方法的作用:给对应的对象进行初始化,对象创建初始化属性值
如何来创建构造方法:
格式:
修饰符 类名(参数列表){ };
构造方法使用注意点:
- 方法名和类名保持一致
- 构造方法时时没人返回值得
- 构造方法 不是我们手动调用的 而是对象被创建时由java 虚拟机调用的
- 如果一个类我们没有给他定义构造方法 jvm在编译的时候会给这个类默认添加一个无参的构造方法
- 如果你自己定义构造方法 jvm就不会在创建无参的构造方法 这时候需要我们自己定义一个无参的构造方法
Java 中的方法时可以重命名的 我们把这种重命的二分法叫做方法重载
方法重载的使用注意事项:
- 必须是方法名一样,才可以叫方法重载
- 任何方法都可以是实现方法的重载
- 保证参数列表的参数的顺序或者个数不一样
构造方法中是可以调用普通方法的
在同一个类中,方法的调用直接拿到方法名调用就可以了
构造代码块:
作用:给对象统一3初始化
构造代码块
构造代码块的作用:给对象统一初始化。
构造代码块的格式:
{
}
注意:构造代码块必须是写在成员的位置上的
代码块:
- 构造代码块
- 局部代码块 写在方法 中 也是以大括号来表示
- 静态代码块
- 构造代码块是在对象被创建时执行的 是放在构造方法中执行的 构造方法中的代码前面执行
构造代码块使用注意点:
- java 中编译器编译一个java 源文件时,会把成员变量的生命放在类的最前面
- 成员变量的初始化都是在构造方法中执行的
- 一旦经过java编译器编译后 别那么构造代码块中的代码会移到构造函数中执行
- 成员变量的显示初始化和构造代码块 按照当前代码的顺序来执行 谁在后面就显示谁
this : 代表所属方法的调用对象。和OC 中的self很象。
this关键字的作用 :
- 如果成员变量和局部变量重名,在方法中时默认用局部变量,通过this可以让方法调用成员变量。
- 构造方法中是可以调用构造方法的 :
构造方法中如何调用的?
this(参数);
使用注意点 :
1.this调用构造方法,必须是构造方法中的第一个语句。
2.不要相互调用构造方法。