对象的学习第一天
- 
使用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;
        //    }
 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号