一、创建对象
对象是根据类创建的。在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