面向对象思想
特点
可以将复杂的事情简单化
懒人思想
可重用性高
特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
开发
创建对象 使用对象 指挥对象
类与对象
事物----------类
属性----------成员变量
行为----------成员方法
成员变量:在类中方法外
类:是一组相关的属性和行为的集合
对象:是该类事物的具体体现
创建对象:类名 对象名 = new 类名();
使用成员变量:对象名.变量名;
使用成员方法:对象名.方法名(...);
package org;
public class Test {
public static void main(String[] args) {
Phone phone = new Phone();
System.out.println(phone.brand);
System.out.println(phone.money);
}
}
class Phone{
public String brand = "华为";
public double money = 4000;
}
成员变量与局部变量的区别
在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
成员变量与静态变量的区别
所属不同
静态变量属于类,所以也称为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
内存中位置不同
静态变量存储于方法区的静态区,JDK1.7之后静态变量存储在堆内存中
成员变量存储于堆内存
内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同
静态变量可以通过类名调用,也可以通过对象调用,推荐使用类名调用
成员变量只能通过对象名调用
匿名对象
概述
没有名字的对象
应用场景
只能调用一次
可以作为实际参数传递
构造方法
概述
创建对象 给对象中的成员进行初始化
特点
方法名与类名相同
没有返回值类型
没有返回值
构造器重载
没有定义构造器时 系统自动提供一个无参构造器
当给出构造方法时 系统将不能在提供构造器