三、类与对象

三、类与对象

类: 定义一类食物,但不能代表某一个具体的事物

例: 动物、植物、手机、宠物

一个类里面只可能有属性和方法

 

对象: 抽象概念的具体实例

能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念

 

创建和初始化对象

使用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本质在调用方法

  • 初始化对象

注意点

  • 定义了有参构造后,如果想使用无参构造,一定要显示定义一个无参构造

 

posted @ 2021-02-16 16:03  NTE701  阅读(115)  评论(0)    收藏  举报
1