欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

深入理解JavaSE的包机制和访问权限控制

最编程 2024-08-02 12:59:57
...

目录

  • 第一章:包机制和import
    • 1.1包机制
    • 2.1 import
  • 第二章:访问权限修饰符
    • 1.1 private
    • 2.1 protected
    • 总结:
    • public:公开的,表示所有地方都能用。
    • private:私人的,表示只能在类的内部使用
    • protected:被保护的,表示只能在类内部、同一个包下,子类中使用。
    • default:表示只能在类内部和同一个包下使用。**

第一章:包机制和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:表示只能在类内部和同一个包下使用。**

今天的分享就到这里啦!!~希望对大家有帮助的话多多支持下 ~

推荐阅读