栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的包以及权限修饰符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的包以及权限修饰符

包 什么是包?

包从电脑文件系统的角度来讲就是文件夹
从java的角度来讲,包是类的路径(或者说是地址)。
严格意思上的类名:全类名=包类+类的简称

Java中包的作用:

1、避免类的重名
2、按照不同功能管理类
3、可以控制访问权限

包(package)的命名规范

在包名中,可以使用 . 号来区分包的级别;包名在一般情况下都是小写的
第一级:指该项目的类别,如: com,org,gov等。
第二级:指项目所开发或者运行的公司名称,如: oracle,sun,huawei等。
第三级:值项目的名称,如: bcms,oa,era,cms等。
第四级:值该项目模块化的名称,如: bean,action,exception等。

import关键字是用来导入外部包的类
Java.lang包中的类在使用时是可以不用导入

访问权限修饰符

Java语言有四大权限修饰符,权限从大到小依次排布:
public > protected > default > private

public

公共权限修饰符,可以修饰类、属性、方法。
所修饰的是可以被任意类访问到的

protected

受保护的权限修饰符。 用来修饰属性、方法
所修饰的是可以被同包中的类访问到的,如果不是同包类的,则必须是该类的子类才可以被访问到。

default

同包权限的修饰符。 用来修饰类、属性、方法、
所修饰的只能被同包中的类访问到。
是默认的权限修饰符(意思也就是可以不用写的)

private

私有权限修饰符。 用来修饰属性、方法、内部类。
只能在本类中被访问到

同类访问

package com.functorone;

public class Demo {

    public String pubName = "张三";
    protected String proname = "李四";
    String defName = "王五";    //default String defName = "王五";
    private String priName = "马六";

    public static void main(String[] args) {
        Demo demo = new Demo();
        System.out.println(demo.pubName);   //公共权限修饰符(任何位置)
        System.out.println(demo.proName);   //受保护权限修饰符(同包,或者不同包的子类)
        System.out.println(demo.defName);   //同包权限修饰符(同包)
        System.out.println(demo.priName);   //私有权限修饰符(本类)
        //在同包同类中都是可以被访问到的
    }
}

同包不同类访问

package com.functorone;

public class Demo1 {
    //同包不同类
    public static void main(String[] args) {
        Demo demo = new Demo();
        System.out.println(demo.pubName);   //公共权限修饰符(任何位置)
        System.out.println(demo.proName);   //受保护权限修饰符(同包,或者不同包的子类)
        System.out.println(demo.defName);   //同包权限修饰符(同包)
//        System.out.println(demo.priName);//访问不到   //私有权限修饰符(本类)
    }
}


不同包

package com.functortwo;

import com.functorone.Demo;

public class Demo2 {
    //不同包
    public static void main(String[] args) {
        Demo demo = new Demo();
        System.out.println(demo.pubName);   //公共权限修饰符(任何位置)
//        System.out.println(demo.proName);   //受保护权限修饰符(同包,或者不同包的子类)
//        System.out.println(demo.defName);   //同包权限修饰符(同包)
//        System.out.println(demo.priName);   //私有权限修饰符(本类)
    }
}


不同包但继承了Demo类

package com.functortwo;

import com.functorone.Demo;

public class Demo4 extends Demo {
    //继承了Demo这个类
    public static void main(String[] args) {
        Demo demo = new Demo();
        System.out.println(demo.pubName);   //公共权限修饰符(任何位置)
//        System.out.println(demo.proName);   //受保护权限修饰符(同包,或者不同包的子类)
//        System.out.println(demo.defName);   //同包权限修饰符(同包)
//        System.out.println(demo.priName);   //私有权限修饰符(本类)
        Demo4 demo4 = new Demo4();
        System.out.println(demo4.proName);
        //通过子类继承父类被protected所修饰的就可以被访问到
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274640.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号