Java详细讲解包的作用以及修饰符的介绍

作者:小学生!! 时间:2021-09-14 05:27:26 

1.包

1.包的三大作用

  • 区分相同名字的类

  • 当类很多时,可方便管理

  • 控制访问范围

2.包的基本语法

package abc.www;

3.包的本质

实际上就是创建不同的文件夹/目录保存类文件

4.包的命名规则

只能包含数字,字母,下划线,小圆点,但不能数字开头,不能是关键字或保留字

5.包的命名规范

小写字母+小圆点,一般是com.公司名.项目名.业务模块名

6.常用的包

java.lang.* //默认引入

java.util.* //系统提供的工具包,工具类,例如之前使用的Scanner

java.net.* //网络包,网络开发

java.awt.* // java界面开发,GUI

7.注意事项和使用细节

  • package 的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package。

  • import指令位置在package下面,在类定义前面,可以有多句且没有顺序要求。

2.访问修饰符

1.4种访问修饰符的访问范围

访问级别访问控制修饰符同类同包不同包子类不同包
公开public
受保护protected
默认没有修饰符
私有private

2.使用注意事项

  • 修饰符可以用来修饰类中的属性,成员方法及类

  • 只有默认的和public才可以修饰类!,并且遵循上述访问权限的特点

  • 成员方法的访问规则和属性完全一样

3.具体实例说明

1. 同类

package com.wang.modifier1;
public class A {
   public int n1 = 100;
   protected int n2 = 200;
   int n3 = 300;
   private int n4 = 400;
   public  void m1(){
       //同一个类可以访问所有修饰符修饰的属性和方法
       System.out.println("n1="+n1+"n2="+n2+"n3="+n3+"n4="+n4);
   }
}

2. 同包

package com.wang.modifier1;
public class B {
   public void say() {
       A a = new A();
       //在同一个包类可以访问public,protected,默认,不能访问私有private
       System.out.println("a1=" + a.n1 + "a2=" + a.n2 + "n3=" + a.n3);
   }

}

3. 不同包子类

package com.wang.extend;
public class Student {//父类
   public int age;
   public String name;
   private Double score;
   String hobby;
}
package com.wang.modifier1;//不同包
import com.wang.extend.Student;
public class B extends Student {//子类
   public void say() {
       //不同包子类可以访问父类的public,protected,不能访问默认的和private
       System.out.println(name + age);
   }
}

4. 不同包

package com.wang.modifier2;
import com.wang.modifier1.A;
public class Test {
   public static void main(String[] args) {
       A a = new A();
       //不同包下,可以访问 public 修饰的属性和方法
       //但不能访问 protected,默认,private 修饰的属性和方法
       System.out.println(a.n1);
   }
}

来源:https://blog.csdn.net/m0_54024106/article/details/124367136

标签:Java,包,修饰符
0
投稿

猜你喜欢

  • Android基于TextView实现跑马灯效果

    2023-07-25 06:32:45
  • Java轻松掌握面向对象的三大特性封装与继承和多态

    2021-07-27 02:39:11
  • java设计模式之工厂模式实例详解

    2023-11-24 23:35:12
  • SpringMVC Interceptor拦截器使用教程

    2022-05-11 02:17:22
  • C# Bitmap 复制的小例子

    2023-01-19 12:49:39
  • Java编程中的4种代码块详解

    2022-01-04 03:10:20
  • Spring JPA之save方法示例详解

    2023-09-06 15:50:35
  • JAVA的反射机制你了解多少

    2023-11-29 16:46:38
  • Java二维数组与动态数组ArrayList类详解

    2023-07-31 19:53:56
  • springboot搭建访客管理系统的实现示例

    2023-09-02 13:10:41
  • rocketmq如何修改存储路径

    2022-08-20 08:00:57
  • Java设计模式之访问者模式使用场景及代码示例

    2021-06-27 13:34:25
  • SpringBoot+SpringSession+Redis实现session共享及唯一登录示例

    2023-10-07 07:56:17
  • Java注解与反射原理说明

    2021-06-18 01:56:00
  • java中fork-join的原理解析

    2023-12-13 08:49:16
  • SpringBoot线程池和Java线程池的使用和实现原理解析

    2022-06-27 07:22:30
  • Jsoup解析html实现招聘信息查询功能

    2022-01-08 19:38:07
  • Jpa Specification如何实现and和or同时使用查询

    2023-10-17 20:49:38
  • 零基础写Java知乎爬虫之获取知乎编辑推荐内容

    2023-11-29 04:33:39
  • Thymeleaf 3.0 自定义标签方言属性的实例讲解

    2023-03-24 20:40:23
  • asp之家 软件编程 m.aspxhome.com