类与对象的关系
- 类是一种抽象的数据类型,它是对一类事物整体描述/定义,但是并不能代表一个具体的事物
创建与初始化对象
- 使用new关键字创建对象
- 使用new关键字创建的时候,除了分配内存空间外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
package com.opp.YSHG2;
// 一个项目应该只有一个main方法
public class Application {
public static void main(String[] args) {
// 类是抽象的,要实例化!!!!
// 类实例化之后会返回一个自己的对象!!!!
// student对象就是一个Student类的具体实例!!!!
Student student1 = new Student();
student1.name = "小明";
student1.age = 6;
System.out.println(student1.name);
System.out.println(student1.age);
}
}
package com.opp.YSHG2;
// 学生类
public class Student {
// 属性:字段
String name;
int age;
// 方法:
public void study(){
System.out.println(this.name + "在学习!");
}
}
构造器
-
类中的构造器也称为构造方法,是在进行创建对象的时候必须调用的。并且构造器有以下两个特点:
- 必须和类的名字相同
- 必须没有返回类型,也不能写void
-
构造器必须要掌握
-
作用:
- 使用 new 关键字,必须要有构造器(本质是在调用构造器(构造方法))
- 用来初始化值
-
注意:一旦定义了有参构造,如果还要用无参构造,无参构造必须显示定义
-
快捷键:快捷键:alt + insert(自动生成构造器)
package com.opp.YSHG2;
// 一个项目应该只有一个main方法
public class Application {
public static void main(String[] args) {
// new 实例化了一个对象
Person person = new Person("LXG");
System.out.println(person.name); // 输出 LXG
}
}
package com.opp.YSHG2;
public class Person {
// 一个类即使什么都不写,它也会存在一个方法
String name;
// 显示定义构造器(无参构造)
public Person(){
// this.name = "LXG";
}
// 有参构造:一旦定义了有参构造,如果还要用无参构造,无参构造必须显示定义
public Person(String name){
this.name = name;
}
// 快捷键:alt + insert(自动生成构造器)
}