三、类与对象
三、类与对象
类: 定义一类食物,但不能代表某一个具体的事物
例: 动物、植物、手机、宠物
一个类里面只可能有属性和方法
对象: 抽象概念的具体实例
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
创建和初始化对象
使用new关键字创建对象, 分配空间,还会对创建好的对象进行默认的初始化
使用new关键字创建对象时,除了分配内存空间外,还会给 创建好的对象 进行默认的初始化, 以及对类中构造器的使用
package oop.Demo02;
//一个项目应该只存在一个main方法 不要有这么多main方法
public class Application {
public static void main(String[] args) {
//实例化类!
// 类实例化后会返回一个自己的对象
// student对象就是一个student类的具体实例
Student Natsume = new Student();
Student Mike = new Student(); // Natsume和Mike就是对象
//赋值
Natsume.name = "Natsume";
Natsume.age = 15;
Mike.name = "Mike";
Mike.age = 16;
System.out.println(Mike.name); //null - 赋值后变成Mike
System.out.println(Mike.age); //0 - 赋值后变成16
System.out.println(Natsume.name); //null - 赋值后变成Natsume
System.out.println(Natsume.age); //0 - 赋值后变成15
}
}
//Mike
//16
//Natsume
//15
package oop.Demo02;
//学生类
public class Student {
//属性/字段:
String name;
int age;
//方法:
public void study(){
System.out.println(this.name+"在学习"); //this代表当前这个类
}
}
构造器
package oop.Demo02;
public class Person {
//一个类即使什么都不写,是空的,它也会存在一个方法/构造器
//会默认加一个方法
/*
public Person (){ //Person = Person, 没有返回值
}
*/
}
package oop.Demo02;
//一个项目应该只存在一个main方法 不要有这么多main方法
public class Application {
public static void main(String[] args) {
Person person = new Person();
}
}
package oop.Demo02;
public class Person {
//一个类即使什么都不写,是空的,它也会存在一个方法/构造器
//会默认加一个方法
/*
public Person (){
}
*/
String name;
//实例化初始值
//构造器的作用:
//1。 使用new关键字,必须要有构造器,本质是在调用构造器
/ //2。 初始化值
//这是个无参构造
public Person(){
this.name = "Natsume";
}
//有参构造: 一旦定义了有参构造,无参构造就必须显示定义
// 定义了有参构造,就留一个无参构造
public Person(String name){
this.name = name; //第二个name代表参数name
// this。name
}
}
/*
测试:
package oop.Demo02;
//一个项目应该只存在一个main方法 不要有这么多main方法
public class Application {
public static void main(String[] args) {
Person person = new Person("Natsume"); //有一个参数,判断去有参构造
System.out.println(person.name); //null - 实例化后 - Natsume
}
}
*/
构造器总结
-
和类名相同
-
没有返回值
构造器的作用
-
new本质在调用方法
-
初始化对象
注意点
-
定义了有参构造后,如果想使用无参构造,一定要显示定义一个无参构造

浙公网安备 33010602011771号