5-2 Java 对象和类

本文详细介绍了Java中的对象和类的概念,包括对象的状态和行为,类作为模板的角色,以及构造方法的使用。此外,还阐述了如何创建和初始化对象,访问实例变量和方法的步骤。同时,提到了源文件的声明规则和Java包的使用,以及import语句的作用。最后通过一个Employee类的例子展示了类的实例化、方法调用和变量设置。
摘要由CSDN通过智能技术生成
Java对象和类
对象
对象是类的一个实例,有状态和行为,比如一条狗就是一个对象,状态有:品种,颜色等;行为有:叫,吃等;

在软件中,对象的状态就是属性,行为就是通过方法来实现的。
类是一个模板,描写一类对象的行为和状态
构造方法

名称必须和类同名,一个类可以有多个构造方法

public class Pubby {
    public Pubby(){
        //默认构造方法
    }
    public Pubby(String name){
        //这个构造器仅有一个参数name
    }
}
创建对象

对象是根据类来创建的。在Java中使用关键字new来创建一个新的对象,需要三个步骤:

  1. 声明:声明一个对象,包括对象名称和对象类型
  2. 实例化:使用关键字New 来创建一个对象
  3. 初始化:使用new创建对象时,会调用构造方法初始化对象
public class Pubby{
    public Pubby(String name){
        //这个构造器只有一个参数name
        System.out.println("小狗的名字是:" + name );
    }
    public static void main(String[] args){
        Pubby myPubby = new Pubby("tommy");
    }
}

编译结果如下:

$ javac Pubby.java
$ java Pubby
小狗的名字是:tommy

访问实例变量和方法
//实例化对象
Object refrenceVariable = new Constructor();

//访问类中的变量
refrenceVariable.variableName;

//访问类中的方法
refrenceVariable.methodName();

一个例子

public class Pubby{
    int pubbyAge;
    public Pubby(String name){
        System.out.println("小狗的名字是:" + name);
    }
    
    public void setAge(int age){
        pubbyAge = age;
    }
    
    public int getAge(){
        System.out.println("小狗的年龄是:" + pubbyAge);
        return pubbyAge;
    }
    
    public static void main(String[] args){
        Pubby myPubby = new Pubby("tommy");
        myPubby.setAge(2);
        myPubby.getAge();
        System.out.println("变量值:" + myPubby.pubbyAge);
    }
}

编译结果如下:

$ javac Pubby.java
$ java Pubby
小狗的名字是:tommy
小狗的年龄是:2
变量值:2

源文件声明规则
  • 一个源文件只能有一个public类
  • 一个源文件可以有多个非public类
  • 源文件的名称应该和public类名保持一致
  • 如果一个类定义在某个包中,那么package语句应该在源文件的首行
  • 如果源文件包含import语句,那么应该放在package和类定义之间。如果没有package语句,应该将import放在最前面
  • import语句和package语句对于源文件中定义的所有类都有效
Java包

包主要用来对类和接口进行分类

import语句

在 Java 中,如果给出一个完整的限定名,包括包名、类名,那么 Java 编译器就可以很容易地定位到源代码或者类。import 语句就是用来提供一个合理的路径,使得编译器可以找到某个类。

//下面的命令行将会命令编译器载入 java_installation/java/io 路径下的所有类
import java.io.*;

举个例子

我们创建两个类Employee和EmployeeTest

Employee用于构造声明

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);
        }
}

EmployeeTest类用于实例化Employee创建两个对象,并调用方法设置变量值

import java.io.*;
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();
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值