2016年6月11日——访问权限控制符

今天我们来探讨一下访问权限控制符。

使用场景一:攻城狮A编写了ClassA,但是他不想所有的攻城狮都可以使用该类,应该怎么办?

使用场景二:攻城狮A编写了ClassA,里面有func1方法和func2方法,但是他只想提供func1给别的攻城狮使用,应该怎么办?

此时,应该使用Java当中的访问权限控制符:1、默认访问权限 2、public 3、private 4、protected

注意,上述四种访问权限,只有默认访问权限和public能够用来修饰类。修饰类的变量和方法四种权限都可以。(本处所说的类针对的是外部类,不包括内部类)

1、修饰类

默认访问权限:表示在同一包中其他类都可以访问该类。

public:表示任何一个类都可以访问该类。

例子1:

People.java

package test1;

class People {
//默认访问控制符
    String name;
    public People(String name) {
        this.name = name;
    }

    public String getName(){
        return this.name;
    }
}

Main.java

package test1;

public class Main {

    public static void main(String[] args) {
        People p = new People("攻城狮");
        System.out.println(p.getName());
    }

}

实验结果:

可以正常输出结果[攻城狮]。因为People类使用的是默认访问修饰符,在同一个包里面可以访问,而Main.java与People.java在同一包,所以能访问。

例子2:

修改Main.java:把Main类放置在别的包中,会有什么情况出现呢?

line2提示:People类不可见,即找不到的意思。People.java使用默认访问修饰符,只能提供给同包的类来访问,而现在Main.java放在了test2包中,而People.java是test1包的,所以在不同包是不能放到默认访问修饰符类的。

2、修饰类的方法和变量

默认访问权限(包访问权限):如果类的变量和方法使用默认访问权限,就意味着只能在同包的类中可以访问到类的方法和变量,而不同包的类则不能访问类的方法和变量。

private:如果一个类的方法和变量使用privagte来修饰,则只能提供给本类访问,其他类不能访问。

protected:如果一个类的方法和变量使用protected来修饰,既能提供本类访问,又能提供给不同包继承于此类的类访问方法和变量。

public:如果一个类的方法和变量使用public来修饰,则任意类能访问方法和变量。

下面通过一下例子来说明问题:

例子3:

People.java与Main.java位于同类

People.java

package test1;

class People {
//默认访问控制符
    String name;
    public People(String name) {
        this.name = name;
    }

    String getName(){
    //默认访问控制符
        return this.name;
    }
}

Main.java

package test1;

public class Main {

    public static void main(String[] args) {
        People p = new People("攻城狮");
        System.out.println(p.getName());
    }

}

此例子能正常运行,主要想测试一下默认修饰符修饰getName(),在同包的类中能正常访问。

如果此时,把Main.java放于不同的包中,查看能否正常运行?

People.java

package test1;

class People {
//默认访问控制符
    String name;
    public People(String name) {
        this.name = name;
    }

    String getName(){
    //默认访问控制符
        return this.name;
    }
}

Main.java

提示,在不同包中,是查看不了使用默认访问控制符修饰的方法。

例子4:

People.java

package test1;

public class People {
    String name;
    public People(String name) {
        this.name = name;
    }

    protected String getName(){
    //protected控制符
        return this.name;
    }
}

Main.java

提示,在不同包中,是查看不了使protected控制符修饰的方法。

编写一个Man类继承于People类

Man.java

package test2;

import test1.People;

public class Man extends People {

    public Man(String name) {
        super(name);
    }

    public void printName(){
        System.out.println(this.getName());
    }

}

Main.java

package test2;
import test1.People;

public class Main {

    public static void main(String[] args) {
        //People p = new People("攻城狮");
        //System.out.println(p.getName());

        Man m = new Man("工程湿");
        m.printName();
    }

}

Man类继承于People类,则Man类中可以访问到People类中protected修饰的方法。

时间: 2024-12-25 16:37:10

2016年6月11日——访问权限控制符的相关文章

软考高项2016年4月11日作业

2016年4月11日作业 一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准和企业标准,其中要求最低的是国家标准.2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每五年复审一次,我国国家标准的有效期5年复审一次.4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB国家标准.GB/T推荐性国家标准.GB/Z国家标准

Yoshua Bengio 2016年5月11日在Twitter Boston的演讲PPT

Yoshua Bengio最新演讲:Attention 让深度学习取得巨大成功(46ppt) Yoshua Bengio,电脑科学家,毕业于麦吉尔大学,在MIT和AT&T贝尔实验室做过博士后研究员,自1993年之后就在蒙特利尔大学任教,与 Yann LeCun. Geoffrey Hinton并称为“深度学习三巨头”,也是神经网络复兴的主要的三个发起人之一,在预训练问题.为自动编码器降噪等自动编码器的结构问题和生成式模型等等领域做出重大贡献.他早先的一篇关于语言概率模型的论文开创了神经网络做语言

2016年4月11日作业 法律法规和标准规范

软考中高项学员:2016年4月11日作业 一.法律法规和标准规范 1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准  要求最低的是国家标准 2.国家标准的制订程序包括哪些? 前期准备 .立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,国家标准管理办法中规定国家标准实施5年内要进行复审,即国家标准有效期一般为5年 4.请说明如下是什么标准?GB.GB/T.

2016年12月11日《每天听本书》:爱情数学:如何用数学找到真爱

2016年12月11日今天的每天听本书爱情数学:如何用数学找到真爱 现在为大家简要截取 今天罗辑社的每天听本书 微信群发布情况介绍 <每天听本书>,不是逐字逐句的"朗读".因为那会耗费用户更多的时间. <每天听本书>,不是对书本框架结构的"缩写".因为丢掉了细节就是丢掉了灵魂. <每天听本书>,也不是"笔记".摘抄书中的原句,脱离上下文环境,其实没有意义. <每天听本书>,是"转述&quo

软考中高项学员:2016年4月11日作业 法律法规和标准规范

软考中高项学员:2016年4月11日作业  法律法规和标准规范 1.  中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准.最低的是国家标准. 2.  国家标准的制订程序包括哪些? 国标制订程序包括:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段. 3.  ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,国家标准的有效期一般为5年. 4.  请说明如下是什么标准?GB.GB/T.GB/Z.GJB? G

软考中高项学员:2016年4月11日作业

一.法律法规和标准规范 1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准,要求最低的是国家标准. 2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复查和废止. 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,我国国家标准的有效期一般为5年,5年复审一次. 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB强制性国家标准.GB/T推荐性国家标准.GB/Z国家标准指

2016年4月11日作业&#160;

一.法律法规和标准规范 1.中国标准划分为哪四个层次?要求最低的是哪个? 1)国家标准.2)行业标准.3)地方标准.4)企业标准. 2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止九个阶段. 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,我国国家标准的有效期5年复审一次. 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB强制性国家标准.GB/T推荐性国家标准.GB/Z指导性国家标准.GJ

薛老师软考高项学员:2016年4月11日作业

第21章 法律法规和标准规范 1.中国标准划分为哪四个层次?要求最低的是哪个? 中国标准划分为国家标准.行业标准.地方标准和企业标准. 要求最低的是国家标准. 2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止. 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,我国国家标准的有效期5年复审一次. 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? 强制性国家标准代号为GB,推荐性国家标准代号为GB/

2016年4月11日作业(法律法规、标准规范、职业道德)

一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个?P498 答:<中华人民共和国标准化法>将标准划分为4个层次,既国家标准.行业标准.地方标准和企业标准.国家标准的要求最低.2.国家标准的制订程序包括哪些? 答:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段.3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? 答:ISO标准每5年复审一次:国家标准实施5年内要进行复审,既国家标准有效期一般为5年.4.请说明如下是什么标准?GB.GB/T.