evansyangs evansyangs
首页
分类
标签
归档
GitHub (opens new window)

Evan Yang

摸鱼小能手
首页
分类
标签
归档
GitHub (opens new window)
  • Java入门系列
  • 初探JAVA

  • 再探Java

    • 再探Java
    • 类和对象
      • 1. 类的重要性:所有Java程序都以类class为组织单元
      • 2. 定义一个类
      • 3. 创建对象(实例化)
      • 4. 成员变量和局部变量
      • 5. 构造方法(相当于C++中的构造函数)
      • 6. Java中的static使用之静态变量
      • 7. Java中的static使用之静态方法
      • 8. Java中的static使用之静态初始化块
    • 封装
    • 继承
  • 深入Java

目录

类和对象

# 1. 类的重要性:所有Java程序都以类class为组织单元

# 2. 定义一个类

public class 类名{
    //定义属性部分(成员变量)
    属性1的类型 属性1;
    属性2的类型 属性2;
        ...
    属性n的类型 属性n;
    //定义方法部分
    方法1;
    方法2;
        ...
    方法m;
}
1
2
3
4
5
6
7
8
9
10
11
12

# 3. 创建对象(实例化)

类名 对象名 = new 类名();
1

# 4. 成员变量和局部变量

区别

  • 作用域不同
  • Java会给成员变量一个初始值;不会给局部变量赋予初始值
  • 在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量
  • 两类变量同名时,局部变量具有更高的优先级

# 5. 构造方法(相当于C++中的构造函数)

public 构造方法名(可以指定参数){
    //初始化代码
}
1
2
3
  • 使用new+构造方法 创建一个新的对象
  • 构造方法是定义在Java类中的一个用来初始化对象的方法
  • 构造方法与类同名且没有返回值
  • 当没有指定构造方法,系统会自动添加无参的构造方法
  • 当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法
  • 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法
  • 构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值

# 6. Java中的static使用之静态变量

public class HelloWorld{
    //static修饰的变量为静态变量,所有类的对象共享hobby
    static String hobby = "Student";
    
    public static void main(String[] args){
    //静态变量可以直接使用类名来访问,无需创建类的对象
    System.out.println("通过类名访问hobby: "+HelloWorld.hobby);
    //创建类的对象
    System.out.println("通过对象名访问hobby: "+hello.hobby);
    //使用对象名的形式修改静态变量的值
    hello.hobby = "Teacher";
    //再次使用类名访问静态变量,值已被修改
    System.out.println("通过类名访问hobby: "+HelloWorld.hobby);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。
  • 静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!

# 7. Java中的static使用之静态方法

public static void print(){
    System.out.println("Hello World");
}
1
2
3
  • 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
  • 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
  • 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。
  • 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

# 8. Java中的static使用之静态初始化块

static{
    age = 20;
    System.out.println("通过静态初始化块初始化age");
}
1
2
3
4
  • 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
  • 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。
编辑 (opens new window)
#Java
上次更新: 2021/02/16, 14:20:12
再探Java
封装

← 再探Java 封装→

最近更新
01
Dell7472黑苹果
03-27
02
上手HackMD
04-13
03
Windows Terminal设置
03-14
更多文章>
Theme by Vdoing | Copyright © 2019-2023 Evan Yang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式