JAVA面向对象03-类与对象的创建、构造器

类与对象的创建

  1. 类是一种抽象的数据类型(引用数据类型),它是对某一类事物整体的描述和定义,但不能代表某一个具体事物;
  2. 对象是抽象概念的具体实例。

创建与初始化对象:使用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生成构造器
}

猜你喜欢

转载自blog.csdn.net/qq_44826240/article/details/123914228