Java基础——关于访问权限的一道例题
一、回顾访问修饰符
==public:被它修饰的类,属性,方法,不仅可以跨类访问,而且可以跨包(package)访问
==private:可以修饰数据成员,构造方法,方法,不能修饰类,被它修饰的成员只能被本类自已访问,不能被子类访问
==protected:可以修饰数据成员,构造方法,方法,不能修饰类,能被本类,同包,或其子类成员访问(如果是子类,可以跨包)
==缺省:不加任何修饰符,只允许同一个包中进行访问
二、代码实例
package dog; public class Dog {
// 公共的
public void publicMethod() {
System.out.println("publicMethod");
} // 保护的
protected void protectedMethod() { // 被声明为protected的方法,可以被子类继承
System.out.println("protectedMethod");
} // 默认的
void defaultMethod() {
System.out.println("defaultMethod");
} // 私有的
private void privateMethod() { // 这个方法只可以在类内部被调用
System.out.println("privateMethod");
}
}
class T {
public static void main(String[] args) {
Dog d = new Dog(); // 可以访问
d.publicMethod(); // 可以访问
d.protectedMethod(); // 可以访问
d.defaultMethod(); // 可以访问
// d.privateMethod(); //私有的方法,不能被在类外访问
}
}
//在上例的基础上,演示跨包的情况
package cat; //和dog 包不在一起 import dog.Dog; public class Cat {
void test() {
Dog dog = new Dog(); dog.publicMethod(); // 可以
// dog.protectedMethod(); 不可以
// dog.privateMethod(); 不可以
// dog.defaultMethod(); 不可以
}
}
//在前例的基础上,演示子类中的访问情况
class NiceDog extends Dog {
void test() {
Dog dog = new Dog();
dog.publicMethod(); // 可以
protectedMethod(); // 被protected修饰的成员,可以被继承过来,并这样调用
// dog.protectedMethod(); 不可以
// dog.privateMethod(); 不可以
// dog.defaultMethod(); 不可以 }
}
Java基础——关于访问权限的一道例题的更多相关文章
- Java基础之访问权限控制
Java基础之访问权限控制 四种访问权限 Java中类与成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private. Public:权限最大,允许所有类访问,但 ...
- java基础(八)-----深入解析java四种访问权限
Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类 ...
- java基础(七) java四种访问权限
引言 Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: ...
- Java成员的访问权限控制
Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...
- 浅析Java中的访问权限控制
浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但 ...
- Java基础——protected访问修饰符探讨
Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: packa ...
- (转)浅析Java中的访问权限控制
原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下 ...
- java类的访问权限
1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...
- Java中的访问权限
Java中有四种访问权限,从大到小依次是:public –> protected –> default(friendly) –> private. 简单说明下: public 作用域 ...
随机推荐
- [.NET] 《Effective C#》快速笔记(三)- 使用 C# 表达设计
<Effective C#>快速笔记(三)- 使用 C# 表达设计 目录 二十一.限制类型的可见性 二十二.通过定义并实现接口替代继承 二十三.理解接口方法和虚方法的区别 二十四.用委托实 ...
- JTextArea自动换行以及设置滚动条
应将JTextArea置于JScrollPanel中若要使只有垂直滚动条而没有水平滚动条,使用JTextArea.setLineWrap(true),自动换行. 文本换行代码片段如下: JTextAr ...
- DFB系列 之 Clear清空surface缓存
1. 函数原型解析 函数声明: DFBResult Clear ( IDirectFBSurface * thiz, u8 r, u8 g, ...
- Android Material Design--TextInputLayout
TextInputLayout 1. 简介 官网开篇: Layout which wraps an EditText (or descendant) to show a floating label ...
- mysql for windows(服务器)上的配置安装--实例
mysql for windows(服务器)上的配置安装 **** 下载 官网网址:https://www.mysql.com/downloads/ 选择左上角Community 再选择MySQL C ...
- Linux目录与文件的权限
零.Linux中的权限为什么重要? 权限直接关系数据安全! 一.用户基础概念: 所有者(owner):拥有这个文件的用户.一般拥有目录或文件的所有权限. 用户组(group):几个用户组成一个用户组, ...
- http工具类
/** * 发送post请求工具方法 * * @Methods Name HttpPost * @Create In 2014年10月28日 By wangfei * @param url * @pa ...
- (转)html中 cookie设置
box=="checkBox '是否记住用户密码'": window.onload=function init() { var box = getCookie(" ...
- Shell脚本编写
1.什么是Shell脚本 Shell脚本是利用 shell 的功能所写的一个程序 program,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式.管 ...
- ConcurrentSkipListMap深入分析
1.前言 ConcurrentHashMap与ConcurrentSkipListMap性能测试 在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSki ...