小白想当程序员

导航

对象的学习第一天

创建与初始化对象

  • 使用new关键字创建对象

  • 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用

  • 类中的构造器也叫做构造方法,是在创建对象时必须要调用的,并且构造器有以下两个特点:

    (1)必须和类的名字相同

    (2)必须没有返回类型,也不能写void

    构造器必须要掌握

//文件夹1
erson person = new person();   //一个类什么都不写,也会存在一个构造方法,文件中默认加入一个方法
   

2:

public class person {

public person() { } }

 

 

//构造器
//构造器的作用:1.使用new关键字,本质是在调用构造器 2.用来初始化值
package com.opp.Demo02;

public class person01 {
   String name;
   //无参构造
   public person01(){
     this.name = "longtianc";
  }


/*public static void main(String[] args) {


   //实例化了一个对象 new
     
       person01 person01 = new person01();
       System.out.println(person01.name); //longtianc

   }
   */
   

 

 

package com.opp.Demo02;

public class person01 {

   String name;

​//无参构造
   public person01() {

  }
   //有参构造:一旦定义了有参构造,无参就必须要求也定义
   //无参构造可以空置,但是必须要构造
   public person01 (String name1) {
       this.name = name1;
  }
 

  /* public static void main(String[] args) {


   //实例化了一个对象 new

       person01 person01 = new person01(); //没有输入
       System.out.println(person01.name); //null

}
*/



package com.opp.Demo02;

public class person01 {
   String name;

   public person01() {

  }
   //有参构造:一旦定义了有参构造,无参就必须要求也定义
   //无参构造可以空置,但是必须要构造
   public person01 (String name1) {
       this.name = name1;
  }
}
/*public static void main(String[] args) {


   //实例化了一个对象 new

       person01 person01 = new person01("longshen"); //输入参数,直接走有参构造,不走无参构造
       System.out.println(person01.name); //longshen

   }
   
   
   
   Alt+insert快捷键
构造器:
 1. 和类名相同
 2. 没有返回值
作用:
 1.使用new关键字,本质是在调用构造器
 2.用来初始化值
注意点:
this. 是这个类的

   
   */

Alt+insert默认生成有参无参构造器

 

 

 

 

 

package com.opp.Demo03;

public class Pet {
   public String name;
   public int age;

   public void shout(){
       System.out.println(name+"叫了一声");
  }
}

 

package com.opp.Demo02;

import com.opp.Demo03.Pet;

public class Application {
   public static void main(String[] args) {

     //类  名字 = new 类();
Pet dog = new Pet();
//名字.参数 = 赋值
       dog.name = "旺财";
       dog.age = 3;
       dog.shout();//旺财叫了一声

       System.out.println(dog.name);
       System.out.println(dog.age);
       
    Pet cat = new Pet();
       cat.name = "加菲猫";
       cat.age = 2;
       cat.shout();//加菲猫叫了一声

  }
}

 

//封装

package com.opp.Demo04;

//类   private:私有,别的文件夹调用会出错
/*
       1.提高系统的安全性,保护数据
       2.隐藏代码的实现细节
       3.统一接口
       4.系统可维护性增加
        */

public class Student
{


   private String name;//名字
   private int id;//学号
   private char sex;//性别
   private int age;

   //提供一些可以操作的方法     public中的get、set方法
   //get 获得这个数据
   public String getName()
  {
       return this.name;     //就可以调用了,形式: main方法new出的名字. getName();
  }

   //set 给这个数据设置值
   public void setName (String name)
  {
       this.name = name;
  }

   public int getAge()
  {
       return age;
  }

   public void setAge(int age)
  {
       if(age>120 || age<0)  //不合法
      {
       this.age = 3;
      } else
      {
           this.age =age;
      }
  }
/*package com.opp.Demo02;

import com.opp.Demo03.Pet;
import com.opp.Demo04.Student;

public class Application {
   public static void main(String[] args) {

       Student s1 = new Student();
       s1.setName("天赐");
       System.out.println(s1.getName());

       s1.setAge(999); //不合法用IF判断
       System.out.println(s1.getAge());
   }
}
*/


       //可以使用快捷键 Alt+insert 中的get and set进行
       // public int getId() {
       //       return id;
       //   }
       //
       //   public void setId(int id) {
       //       this.id = id;
       //   }

posted on 2021-09-25 10:14  小白想当程序员  阅读(208)  评论(0)    收藏  举报