Java基础:包机制与访问权限修饰符

189 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第24天,点击查看活动详情

第一章:包机制和import

1.1包机制

包其实就是目录,特别是项目比较大,java 文件特别多的情况下,我们应该分目录管理,在 java中称为分包管理,包名称通常采用小写。 重点: 1、包最好采用小写字母 2、包的命名应该有规则,不能重复,一般采用公司网站逆序, 如:com.xxxxx.项目名称.模块名称 com.xxxx.exam 3.package 必须放到 所有语句的第一行,注释除外

代码演示:

package com.xxxx.exam;
public class PackageTest01 {
public static void main(String[] args) {
System.outprintln("Hello Package!!!");
	}
 }

2.1 import

1.采用 import 引入需要使用的类

import com.xxxx.exam.model.User;
import com.xxxx.exam.model.Student;
import com.xxxx.exam.model.Employee;

2.可以采用 * 通配符引入包下的所有类

import com.xxxx.exam.model.*;

注意: 如果都在同一个包下就不需要 import 引入了,以上的示例都没有包,可以理解为都在同一个包下,在实际开发过程中不应该这样做,必须建立包 代码演示:

package com.xxxx.exam;
import java.util.Scanner;
public class PackageTest02 {
public static void main(String[] args) {
	User user = new User();
	Scanner s=new Scanner(System.in);
	int x=s.nextInt();
	user.setUserId(10000);
	user.setUserName("张三");
	System.out.println("user.id=" + user.getUserId());
	System.out.println("user.name=" + user.getUserName());
	}
 }

第二章:访问权限修饰符

java 访问级别修饰符主要包括:private protected public,可以限定其他类对该类、属性和方法的使用权限

1.1 private

代码演示:

public class PrivateTest01 {
public static void main(String[] args) {
	A a = new A();
//不能访问,private 声明的变量或方法,只能在同一个类中使用
	System.out.println(a.id);
	} 
}
class A {
	private int id;
}

2.1 protected

在同一个包下,建立类 ProtectedTest01、A,并建立 B 继承 A`

public class ProtectedTest01 {
public static void main(String[] args) {
		A a = new A();
		a.method1();
		A b = new B();
		b.method1();
		B b1 = new B();
		b1.method3(); 
	}
 }
class A {
//采用 protected 声明的变量或方法只有子类或同一个包下的类可以调用
	protected int id = 100;
	public void method1() {
		System.out.println(id);
	}
	protected void method2() {
		System.out.println("A.method2()");
	}
}
class B extends A {
	public void method1() {
//可以正确调用
//因为和 A在同一个包下
		System.out.println(id);
	}
	public void method3() {
//可以正确调用
	method2();	
	}
 }

总结:

在这里插入图片描述 public:公开的,表示所有地方都能用。

private:私人的,表示只能在类的内部使用

protected:被保护的,表示只能在类内部、同一个包下,子类中使用。

default:表示只能在类内部和同一个包下使用。