• 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
    

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

  • 相关阅读:
    生成函数解决多重集合的计数问题
    kmp板子
    poj1001
    【题解】洛谷P1315 [NOIP2011TG] 观光公交(前缀和+贪心)
    【题解】洛谷P1941 [NOIP2014TG] 飞扬的小鸟(背包DP)
    【题解】洛谷P2679 [NOIP2015TG] 子串(DP+滚动数组)
    【题解】洛谷P1514 [NOIP2010TG] 引水入城(DFS+DP)
    【题解】洛谷P1052 [NOIP2005TG] 过河(DP+离散化)
    [arc063F]Snuke's Coloring 2-[线段树+观察]
    [agc001E]BBQ Hard[组合数性质+dp]
  • 原文地址:https://www.cnblogs.com/youcoding/p/12663343.html
Copyright © 2020-2023  润新知