Java修饰符 - package, import, 权限修饰符, final, static
文章目录
1 package
-
包就是文件夹,用来管理类文件的
-
意思是说意思是说接下来的这些代码,全是属于package后面的那个包里面的;如果一个类没有指定
package
,它属于默认包,只能被同一包下的类访问。
包的定义格式
- package 包名; (多级包用.分开)
- 例如:package com.heima.demo;
带包编译&带包运行
- 带包编译:javac –d . 类名.java
- 例如:
javac -d . com.heima.demo.HelloWorld.java
- 带包运行:java 包名+类名
- 例如:
java com.heima.demo.HelloWorld
2 import
-
导包的意义
使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了
为了简化带包的操作,Java就提供了导包的功能
// 1. 没有导包,创建Scnaner对象 java.util.Scanner sc = new java.util.Scanner(System.in);
// 2. 使用导包后,创建的Scanner对象 Scanner sc = new Scanner(System.in);
-
导包的格式
格式:import 包名;
范例:import java.util.Scanner;
3 权限修饰符
4 final 重点
-
fianl可以修饰:
- final可以修饰成员方法,成员变量,类,局部变量
-
final修饰类、方法、变量的效果
-
fianl修饰类:该类不能被继承(不能有子类,但是可以有父类)
-
final修饰方法:该方法不能被重写
-
final修饰变量:表明该变量是一个常量,不能再次赋值
-
final修饰局部变量
-
基本数据
final 修饰指的是基本类型的数据值不能发生改变
-
引用数据
final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的
例如:
public static void main(String[] args){ final Student s = new Student(23); s = new Student(24); // 错误 s.setAge(24); // 正确 }
回顾,Java中的引用数据类型有 :类,接口,数组
-
-
5 static 重点
- static可以修饰:
- static可以修饰成员方法,成员变量
- static修饰的特点
- 修饰成员变量以及修饰成员方法:
- 被类的所有对象共享,这也是我们判断是否使用静态关键字的条件
- 可以通过类名调用当然,也可以通过对象名调用**(推荐使用类名调用)**
- 修饰成员变量以及修饰成员方法:
- static访问特点
重点
- 非静态的成员方法
- 能访问静态的成员变量
- 能访问非静态的成员变量
- 能访问静态的成员方法
- 能访问非静态的成员方法
- 静态的成员方法
- 能访问静态的成员变量
- 能访问静态的成员方法
- 总结成一句话就是:
- 静态成员方法只能访问静态成员
- 非静态的成员方法
成员方法
* 能访问非静态的成员方法
- 静态的成员方法
- 能访问静态的成员变量
- 能访问静态的成员方法
- 总结成一句话就是:
- 静态成员方法只能访问静态成员