-
使用new关键字创建对象
-
使用New关键字创建对象的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中的构造器的调用
-
举例
public class Person { //一个类即使什么都不写,它也会存在一个构造方法 String name; //实例化初始值 //1.使用new关键字,本质是在调用构造器 //2.用来初始化值 public Person(){ } //有参构造:一旦定义了有参构造,无参就必须显示定义 public Person(String name) { this.name = name; } } /** * 构造器: * 1.和类名相同 * 2.没有返回值 * 作用: * 1.new 本质在调用构造函数 * 2.初始化对象的值 * 注意点: * 1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造 * * alt + insert */
public class Application {
public static void main(String[] args) {
//类:抽象的,需要实例化
//类实例化之后会返回一个自己的对象
//stu1对象就是一个Student类的具体实例
Student stu1 = new Student();
Student stu2 = new Student();
stu1.name = "lgy";
stu1.age = 21;
stu1.study();
System.out.println("学生的名字是"+stu1.name+
"今年"+ stu1.age+"岁了");
Person p0 = new Person("da");
System.out.println(p0.name);
}
}
创建对象内存分析
public class Application {
public static void main(String[] args) {
Pet dog = new Pet();
dog.name = "来福";
dog.age = 12;
dog.shout();
System.out.println(dog.name);
System.out.println(dog.age);
Pet cat = new Pet();
cat.name = "小麦";
System.out.println(cat.name);
}
}
public class Pet { //
public String name;
public int age;
//无参构造
public void shout(){
System.out.println("叫了一声");
}
}
小结
-
类与对象
类是一个模板:抽象,对象是一个具体的实例
-
方法
定义、调用
-
对应的引用
引用类型:基本类型(8)
对象是通过引用来操作的:栈-->堆
-
属性:字段Field成员变量
默认初始化
数字: 0 0.0
char:u0000
boolean: false
引用:null
修饰符 属性类型 属性名 = 属性值
-
对象的创建和使用
- 必须使用new 关键字创造对象,构造器 Person p1 = new Person();
- 对象的属性 p1.name
- 对象的方法 p1.study();
-
类:
静态的属性 属性
动态的行为 方法