构造方法 :
* 1 创建当前类的实例化对象,并初始化对象
* 2 构造方法声明 : [修饰符列表] 类名(参数){ 方法体 }
* 3 如果类中没有声明构造方法,则默认有一个公共的无参构造
* 4 如果类中声明了构造方法,则不会再有默认的无参构造
* 所以我们再创建有参构造的时候,需要手动创建一个无参构造
* 5 构造方法也是可以根据需求重载写多个的
对象 : 代码角度 : new 的实例化某一个类的实例,封装特有的数据 数据角度 : 封装数据和逻辑的一种方式 认知角度 :
* 对象就是某个具体的东西,一切皆对象 设计角度 : 从一个实际的实体抽象某些属性的一种实体表示
*
* 概念/定义 : 我们再思想上对某个东西,或者是某一类东西的一个唯一性标识 描述了这一类事物的特征 是我们在大脑里对客观事物描述的一个标准,一个模板
*
* 什么是类 ? 类规定标准,是模板 择偶标准 : 女,长头发,有内涵 什么是对象? 现在有个女生,是女的,头发挺长,也有内涵 , 那么这个女生 就是
* 择偶标准的类对象 只要是这个类的对象,就一定符合这个标准
*
* 我们再抽离某个概念,就建立相关事物的类,一定是通过他的属性来形成的这个类,由不同的属性值形成不同的个体(对象)
*
* 不同的属性 划分不同 的类 , 不同的属性值 , 划分不同的对象
*
* 实例化 : 1 加载类到静态区 2 在堆内存开辟内存空间 3 调用构造方法,初始化堆内存对象 4 构造方法弹栈,堆内存引用保存到变量中
public static void main(String[] args) {
// 创建对象
Star s = new Star();
// 访问一个不存在的属性 编译报错
// System.out.println(s.color);
s = null;
// java.lang.NullPointerException 空指针异常
// 当使用一个null值,调用成员属性的时候,会出现空指针异常
// 并且空指针异常是在运行时报错的
System.out.println( s.age );
}
}
class Star {
// 成员变量
int age;
}
传值 : 传递基本类型,相互不影响
*
* 传引用 : 传递引用类型,相互影响
*
*/
public class OOP_03 {
public static void main(String[] args) {
int i = 10;
m1(i);
System.out.println(i);
}
public static void m1(int i) {
i++;
System.out.println(i);
}
}
JavaBean : 变量私有化 private,不让外界直接访问
*
* 提供对应的setter/getter方法,用于获取和设置私有属性的值
*
* 响应的有参和无参构造