类与对象的创建
- 类是一种抽象的数据类型(引用数据类型),它是对某一类事物整体的描述和定义,但不能代表某一个具体事物;
- 对象是抽象概念的具体实例。
创建与初始化对象:使用new
关键字创建对象。
作用:
(1)分配内存空间;
(2)给创建好的对象进行默认初始化;
(3)调用类中的构造器。
main
方法
//一个项目应该只存一个main方法
public static void main(String[] args) {
//new实例化一个对象dog
Pet dog = new Pet();
dog.name = "小白";
dog.age = 3;
//打印
System.out.println(dog.name);//小白
System.out.println(dog.age);//3
dog.shout();//叫!
}
Pet类
public class Pet {
String name;
int age;
public void shout(){
System.out.println("叫!");
}
}
对象的作用:用来封装数据
main
方法
public static void main(String[] args) {
//类是抽象的,需要实例化
//类实例化后会返回一个自己的对象
Student xm = new Student();
Student xh = new Student();
//赋值,用对象封装数据
xm.name = "xiaoming";
xm.age = 8;
xh.name = "xiaohong";
xh.age = 9;
System.out.println(xm.name);
System.out.println(xm.age);
xm.study();
System.out.println(xh.name);
System.out.println(xh.age);
xh.study();
}
Student类
//学生类
public class Student {
//属性(字段)
String name;
int age;
//方法
public void study(){
//this指当前的类
//this.name当前类的属性name的值
System.out.println(this.name + "在学习");
}
}
构造器
类中的构造器也称为构造方法,是在进行创建对象时必须调用的,并且构造器有两个特点:
(1)方法名称必须与类名相同;
(2)必须没有返回值类型,也不能写void
。
构造器可以用来:1.初始值;2. new实例化本质是在调用构造器
注意:
一旦类中定义了有参构造,就必须显示写出无参构造,否则new实例化时,要进行传参。
快捷键alt+Insert-->constructor
:生成构造器
main
方法
public static void main(String[] args) {
//使用new实例化时,类内必须有构造器
//new实例化本质是在调用构造器
Person person1 = new Person();
System.out.println(person1.name);//小乔
Person person = new Person("大乔");
System.out.println(person.name);//大乔
}
Person类
public class Person {
String name;//默认初始化为null
//一个类即使什么也不写,它也会存在一个方法-自己的构造方法
//显示自己的构造器
//作用1.用来初始值
//作用2.new实例化本质是在调用构造器
public Person(){//无参构造器
//this.name代表本类的属性name
this.name = "小乔";
}
//一旦定义了有参构造,就必须显示写出无参构造
public Person(String name){//有参构造
this.name = name;
}
//alt+Insert-->constructor生成构造器
}