Java 对象和类

变量类型


局部变量:在方法、构造方法内定义的变量称为局部变量。

成员变量:定义在类中,方法之外的变量称为成员变量。

类变量:类变量也声明在类中,方法之外,但必须声明为static类型。

一个创建对象的例子


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

一个访问实例变量和调用成员方法的例子


public class Puppy {
    int puppyAge; // 成员变量
    public Puppy(String name){
        // 构造方法与类名相同
        // 这个构造方法仅有一个参数:name
        System.out.println("小狗的名字是:"+ name);
    }

    // 成员函数
    public void setAge(int age){
        puppyAge = age;
    }

    // 成员函数
    public void getAge(){
        System.out.println("小狗的年龄为:"+ puppyAge);
    }

    public static void main(String[] args){
        // 主函数
        // 创建一个Puppy对象
        Puppy myPuppy = new Puppy("tommy");
        // 通过方法设定age
        myPuppy.setAge(2);
        // 调用另一个方法获取age
        myPuppy.getAge();
        // 通过对象直接访问成员变量
        System.out.println("成员变量值:"+ myPuppy.puppyAge);
    }
}

输出:

小狗的名字是:tommy
小狗的年龄为:2
成员变量值:2

源文件声明规则


  • 一个源文件只能有一个public类

  • 一个源文件可以有多个非public类

  • 源文件名应该和public类名一致。

  • 如果一个类定义在某个包中,那么package语句应该在源文件的首行。

  • 如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。

  • import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

import语句


import java.io.*;  // 导入当前目录下的所有类

实例

创建两个类EmployeeEmployeeTest.

Employee类的代码:

public class Employee {
    String name;
    int age;
    String designation;
    double salary;

    // 构造函数
    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类的代码:

import java.io.*;  // 导入当前目录下的所有类

public class EmployeeTest {
    public static void main(String[] args){
        // 使用构造函数创建两个对象
        Employee empOne = new Employee("R1");
        Employee empTwo = new Employee("R2");

        // 调用这两个对象的成员函数
        empOne.empAge(25);
        empOne.empDesignation("高级程序员");
        empOne.empSalary(10000);
        empOne.printEmployee();

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

由于 EmployeeTest 类中引用了Employee 类,故需要在EmployeeTest 类的首行使用import语句导入Employee 类。

运行结果如下:

名字:R1
年龄:25
职位:高级程序员
薪资:10000.0
名字:R2
年龄:21
职位:菜鸟程序员
薪资:500.0

每天学习一点点,每天进步一点点。

posted @ 2020-04-08 22:20  爱吃西瓜的番茄酱  阅读(210)  评论(0编辑  收藏  举报