Java知识5 创建对象 实例化 构造方法【多测师】

一、创建对象
对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字new来创建一个对象。
始化:使用new创建对象时,会调用构造方法初始化对象。
创建对象的例子1:
public class Puppy{
    public Puppy(String name){
        //这个构造器仅有一个参数:name
        System.out.println("小狗的名字是 : " + name );
    }
    public static void main(String []args){
        // 下面的语句将创建一个Puppy对象
        Puppy myPuppy = new Puppy( "tommy" );
    }
  }
运行结果: 小狗的名字是 : tommy

例子2:
public class Puppy{
  public Puppy(int age) {
   System.out.println("Puppy的年龄是:"+age);
  }
  public static void main(String[] args) {
   Puppy myPuppy = new  Puppy(18);
  }
}

二、实例化
实例化是指在面向对象的编程中,通常把用类创建对象的过程称为实例化。格式化有类名,对象名 = new 类名(参数1,参数2...参数n)
如 Date date=new Date();就是用日期类创建了一个日期的对象,就叫对象的实例化。
多数语言中,实例化一个对象就是为对象开辟内存空间,或者是不用声明,直接使用new 构造函数名,建立一个临时对象。
Java举例如下:
public class A{
    public static void main(String[] args){
        B b = new B();//实例化
        b.print();
    }
}
class B{
    public void print(){
        System.out.println("Hello,World!");
    }
}

三、类变量:
类变量声明在类中、方法体之外、但必须声明为static类型

四、构造方法
每个类都有构造方法、创建类必须有一个构造方法、构造方法要和类同名
一个类可以有多个构造方法
public class Puppy{
    public Puppy(){
    }
 
    public Puppy(String name){
        // 这个构造器仅有一个参数:name
    }
}

五、访问实例变量和方法:
通过创建的对象来访问成员变量和成员方法
/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问类中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.MethodName();
实例如下:
访问实例变量和调用成员方法
public class Puppy {
    int puppyAge; // 类变量

    public Puppy(String name) {
  // 这个构造器仅有一个参数:name
  System.out.println("小狗的名字是 : " + name);
    }

    public void setAge(int age) {
  puppyAge = age;
    }

    public int getAge() {
  System.out.println("小狗的年龄为 : " + puppyAge);
        return puppyAge;
    }
    public static void main(String[] args) {
  /* 创建对象 */
  Puppy myPuppy = new Puppy("tommy");
  /* 通过方法来设定age */
  myPuppy.setAge(2);
  /* 调用另一个方法获取age */
  myPuppy.getAge();
  /* 你也可以像下面这样访问成员变量 */
  System.out.println("变量值 : " + myPuppy.puppyAge);
    }
}

运行结果:
小狗的名字是 : tommy
小狗的年龄为 : 2
变量值 : 2


六、Java包
编写程序时可能编写上成百上千的类、Java包主要用来对类和接口进行分类 

七、import语句
Java中给包名、类名 Java编译器很容易定位到源代码 import语句就是提供一个合理的路径
使编译器可以找到某各类

八、举例子:
创建俩个类 Employee和EmployeeTest
Employee类有四个成员变量:name、age、designation和salary 该类显示声明了一个构造方法
该方法只有一个参数
代码如下:
import java.io.*;

public class Employee{
   String name;
   int age;
   String designation;
   double salary;
   // Employee 类的构造器
   public Employee(String name){
      this.name = name;
   }
   // 设置age的值
   public void empAge(int empAge){
      age =  empAge;
   }
   /* 设置designation的值*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* 设置salary的值*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* 打印信息 */
   public void printEmployee(){
      System.out.println("名字:"+ name );
      System.out.println("年龄:" + age );
      System.out.println("职位:" + designation );
      System.out.println("薪水:" + salary);
   }
}

Main函数调用:
包含main方法 并创建一个实例对象 EmployeeTest类实例化2个Employee类并调用方法设置变量的值
public class EmployeeTest{

        public static void main(String args[]){
      /* 使用构造器创建两个对象 */
      Employee empOne = new Employee("RUNOOB1");
      Employee empTwo = new Employee("RUNOOB2");

      // 调用这两个对象的成员方法
      empOne.empAge(26);
      empOne.empDesignation("高级程序员");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("菜鸟程序员");
      empTwo.empSalary(500);
      empTwo.printEmployee();
  }
}

运行结果:
名字:RUNOOB1
年龄:26
职位:高级程序员
薪水:1000.0
名字:RUNOOB2
年龄:21
职位:菜鸟程序员
薪水:500.0

 

posted @ 2020-06-12 21:59  多测师_王sir  阅读(721)  评论(0编辑  收藏  举报