Java对象和类 Day1

Java对象和类

一、public

java 程序是从一个 public 类的 main 函数开始执行的,(其实是main线程),就像 C 程序 是从 main() 函数开始执行一样。 只能有一个 public 类是为了给类装载器提供方便。 一个 public 类只能定义在以它的类名为文件名的文件中。

每个编译单元(文件)都只有一个 public 类。因为每个编译单元都只能有一个公共接口,用 public 类来表现。该接口可以按照要求包含众多的支持包访问权限的类。如果有一个以上的 public 类,编译器就会报错。 并且 public类的名称必须与文件名相同(严格区分大小写)。 当然一个编译单元内也可以没有 public 类。

二、static

static 关键字,是一个修饰符,用于修饰成员(成员变量和成员函数)。
1、想要实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。
2、被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方式。类名.静态方式。
3、静态随着类的加载而加载。而且优先于对象存在。

三、成员变量和类变量的区别

1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。

3、别名不同
成员变量也称为实例变量。
静态变量也称为类变量。

4、数据存储位置不同
成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

/*
* Author: 也无風雨也无晴
* Date: 2020/7/3
*/

import java.io.*;       //类似c的头文件 #include <stdio.h>

class Employee{
    String name;        //Employee的四个成员变量
    int age;
    public Employee(String Name){ // Employee 类的构造器
        name = Name;
    }
    /*Employee不加void是因为下面需要调用使用这个构造器构造两个对象,
    * 但是没有void就需要有返回值,构造器比较特殊,
    * 在下面使用新的对象的时候,这个构造函数被执行了,而返回值,就是新的对象。
    * */
    public void empAge(int empAge){// 设置age的值
        age =  empAge;
    }
    /*类似C的
    * void empAge(int empAge)
    * {
    *       printf("%d",empAge);
    * }
    * */
    /* 打印信息 */
    public void printEmployee(){
        System.out.println("名字:"+ name );
        System.out.println("年龄:" + age );
    }
}

public class EmployeeTest{

    public static void main(String[] args){
        /* 使用构造器创建两个对象 */
        Employee empOne = new Employee("亚索");
        Employee empTwo = new Employee("盲僧");

        // 调用这两个对象的成员方法
        empOne.empAge(18);
        empOne.printEmployee();

        empTwo.empAge(19);
        empTwo.printEmployee();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_42852559/article/details/107113406