接着上一篇的基础知识,今天俺们来学习一下:
final关键字
final 关键字 //不可改变。可以用于修饰类、方法和变量。不能被继承 概述: 类 :被修饰的类,不能被继承。 方法:被修饰的方法,不能被被重写。 变量:被修饰的变量,就只能赋值一次,不能被重新赋值。 //被final修饰的常量名称,一般都有书写规范,所有字母都大写。 修饰类: 格式: 修饰符 final class 类名{ } 修饰方法: 修饰符 final 返回值类型 方法名(参数){ //方法体 } 修饰变量: 局部变量 基本类型: //基本类型的局部变量,被final修饰后,只能赋值赋值一次,不能再更改 //final修饰基本数据类型 final int NUM=10; 引用类型: //引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改。但是不影响对象内部的成员变量值的修改 // 引用类型 final Student stu = new Student("张三",18); //stu = new Student("李四",19);// 编译报错 stu.setAge(19); 成员变量 成员变量涉及到初始化的问题,初始化方式有两种,只能二选一: 1.显示初始化 public class test{ final int NUM1 = 10; } 2.构造方法初始化 public class test{ final int NUM2; public test(int NUM2){ this.NUM2 = NUM2; } public test(){ this.NUM2 = 10; } }
static关键字
static 关键字 概述:static是一个静态修饰符关键字,表示静态的意思,可以修饰成员变量和成员方法以及代码块。 注意事项: 1.静态方法中不能出现this关键字 2.静态方法中只能直接访问静态成员变量和静态成员方法 3.静态方法中不能直接访问非静态成员变量和非静态成员方法 4.非静态方法中可以直接访问一切成员变量和成员方法 static修饰成员变量 特点:被static修饰的变量会被该类的所有对象共享,该成员变量称为类变量。一个对象对该变量的值进行修改,所有对象访问该变量都是修改后的值。 格式:static 数据类型 变量名; 静态成员变量访问方式 对象名.静态成员变量名; //不推荐 类名.静态成员变量名; //推荐 只用这个! static修饰代码块 位置:类中,方法外 执行:随着类的加载而执行,并且只执行一次 /* static{ 执行代码 } */ static修饰成员方法//在返回值类型前面加static关键字 注意: 1.静态方法中不能出现this关键字 2.静态方法中只能直接访问静态成员变量和静态成员方法 3.静态方法中不能直接访问非静态成员变量和非静态成员方法 4.非静态方法中可以直接访问一切成员变量和成员方法 //被static修饰的方法会变成静态方法,也称为类方法,该静态方法可以使用类名直接调用。 格式 修饰符 static 返回值类型 方法名 (参数列表){ 执行语句...} //public static int Dog(int 10){ 执行语句...} 访问方式 对象名.方法名(实参); 类名.方法名(实参); //推荐 /* class Student{ public static void method(){ System.out.println("学生类的方法"); } } public class Demo{ Student.method(); } */
关键字很关键