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