Java(16)修饰符
作者:季沐测试笔记
原文地址:https://www.cnblogs.com/testero/p/15201619.html
博客主页:https://www.cnblogs.com/testero
1 package
- 1.1 包的概念
- 包就是文件夹,用来管理类文件的
- 1.2 包的定义格式
- package 包名; (多级包用.分开)
- 例如:package com.test.demo;
- 1.3 带包编译&带包运行
- 带包编译:javac –d . 类名.java
- 例如:javac -d . com.test.demo.HelloWorld.java
- 带包运行:java 包名+类名
- 例如:java com.test.demo.HelloWorld
- 带包编译:javac –d . 类名.java
2 import
-
导包的意义
使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了
为了简化带包的操作,Java就提供了导包的功能
-
导包的格式
格式:import 包名;
范例:import java.util.Scanner;
-
示例代码(没有使用导包,创建的Scanner对象)
package com.test;
public class Demo {
public static void main(String[] args) {
// 1. 没有导包,创建Scnaner对象
java.util.Scanner sc = new java.util.Scanner(System.in);
}
}
- 示例代码(使用导包后,创建的Scanner对象)
package com.test;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
// 2. 导包,创建Scnaner对象
Scanner sc = new Scanner(System.in);
}
}
3 权限修饰符
4 final
- fianl关键字的作用
- final代表最终的意思,可以修饰成员方法,成员变量,类
- final修饰类、方法、变量的效果
- fianl修饰类:该类不能被继承(不能有子类,但是可以有父类)
- final修饰方法:该方法不能被重写
- final修饰变量:表明该变量是一个常量,不能再次赋值
5 final修饰局部变量
-
fianl修饰基本数据类型变量
- final 修饰指的是基本类型的数据值不能发生改变
-
final修饰引用数据类型变量
-
final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的
-
举例:
public static void main(String[] args){ final Student s = new Student(23); s = new Student(24); // 错误 s.setAge(24); // 正确 }
-
6 static
- static的概念
- static关键字是静态的意思,可以修饰【成员方法】,【成员变量】
- static修饰的特点
- 被类的所有对象共享,这也是我们判断是否使用静态关键字的条件
- 可以通过类名调用当然,也可以通过对象名调用【推荐使用类名调用】
- 示例代码:
class Student {
public String name; //姓名
public int age; //年龄
public static String university; //学校 共享数据!所以设计为静态!
public void show() {
System.out.println(name + "," + age + "," + university);
}
}
public class StaticDemo {
public static void main(String[] args) {
// 为对象的共享数据赋值
Student.university = "xx大学";
Student s1 = new Student();
s1.name = "张三";
s1.age = 20;
s1.show();
Student s2 = new Student();
s2.name = "李四";
s2.age = 22;
s2.show();
}
}
- static访问特点
- 非静态的成员方法
- 能访问静态的成员变量
- 能访问非静态的成员变量
- 能访问静态的成员方法
- 能访问非静态的成员方法
- 静态的成员方法
- 能访问静态的成员变量
- 能访问静态的成员方法
- 总结成一句话就是:
- 静态成员方法只能访问静态成员
- 非静态的成员方法