public private protected default
public private protected default
这几个限定访问控制符只是在编译阶段起作用,在运行阶段不起作用
private修饰符 , 本类可以访问
default修饰符 , 本类,本包可以访问 (这是默认的,即什么都不写)
protected修饰符 ,本类,本包,子类可以访问
public修饰符 , 都可以访问
关于protected修饰符
protected是用来让子类可以访问父类的方法和属性的
必须有子类,而与子类所在的位置没有关系
对象是子类类型,当有多个子类时,必须是在本子类当中
package com.moreas.concurrency; public class Person { private String name;
int age;
protected String color; public Person() {
} public Person(String name, int age, String color) {
super();
this.name = name;
this.age = age;
this.color = color;
} public void say() {
System.out.println(this.name + " say: I am " + this.color + " Person");
}
}
package com.moreas.concurrency.c; import com.moreas.concurrency.Person; public class BlackPerson extends Person { public static void main(String[] args) { BlackPerson p1 = new BlackPerson();
System.out.println("color:" + p1.color);//protected Person p2 = new BlackPerson(); //对象不是子类类型
//String col = p2.color; //编译出错
} }
package com.moreas.concurrency.c; import com.moreas.concurrency.Person; public class Other extends Person { public static void main(String[] args) { BlackPerson p1 = new BlackPerson();
// System.out.println("color:" + p1.color);//protected //编译出错,不是在本子类当中
} }
下面是错误的理解,以为只要是在子类当中,就可以访问protected属性了
public private protected default的更多相关文章
- 访问权限系列一(public/private/protected/default):成员变量
通过两个程序包对自身或互相之间的访问,得到结果.(先编译Test_01,得到class文件,通过Test的集中访问情况) 如下Test.java中内容: package com.java; /* * ...
- Java的访问权限详解(3+1)public private protected default
Java使用三个关键字在类的内部设定访问权限:public.private.protected.这些访问指定词(access specifier)决定了紧跟其后被定义的成员(方法或属性)可以被谁使用. ...
- public private protected default小结
public:可以被所有其他类所访问: private:只能被自己访问和修改: protected:自身.子类及同一个包中类可以访问: default:声明时没有加修饰符,同一包中的类可以访问:当子类 ...
- java中public private protected default的区别
1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...
- 访问修饰符 public private protected default
- public/private/protected访问控制权限的区别
//public/private/protected访问控制权限的区别//时间:2016/8/16 //(一)修饰成员: //public: 在类内.类外都能使用 . //protected: 在类内 ...
- Java中public,private,protected,和默认的区别
Java中public,private,protected,和默认的区别 1.private修饰词,表示成员是私有的,只有自身可以访问: 2.protected,表示受保护权限,体现在继承,即子类可以 ...
- 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)
访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...
- public private protected和默认的区别(转自百度)
public private protected和默认的区别 Java中对类以及类中的成员变量和成员方法通过访问控制符(access specifier)进行区分控制.刚学Java语言的同学可能对pu ...
随机推荐
- 详解MySQL基准测试和sysbench工具(转)
前言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法. 文章有疏漏之处, ...
- 谈谈MySQL优化原理
说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原 ...
- canvas-8searchLight4.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- K8S Calico
NetworkPolicy是kubernetes对pod的隔离手段,是宿主机上的一系列iptables规则. Egress 表示出站流量,就是pod作为客户端访问外部服务,pod地址作为源地址.策略可 ...
- 洛谷P2421 [NOI2002]荒岛野人(扩展欧几里得)
题目背景 原 A-B数对(增强版)参见P1102 题目描述 克里特岛以野人群居而著称.岛上有排列成环行的M个山洞.这些山洞顺时针编号为1,2,…,M.岛上住着N个野人,一开始依次住在山洞C1,C2,… ...
- POJ1509 Glass Beads(最小表示法 后缀自动机)
Time Limit: 3000MS Memory Limit: 10000K Total Submissions: 4901 Accepted: 2765 Description Once ...
- Xcode常用的文件路径
1.Provisioning Profile文件在哪找? ~/Library/MobileDevice/Provisioning Profiles 2.master 在那找? ~/.cocoapods
- codeforces 2B The least round way(DP+数学)
The least round way 题目链接:http://codeforces.com/contest/2/problem/B ——每天在线,欢迎留言谈论.PS.本题有什么想法.建议.疑问 欢迎 ...
- Ubuntu搭建NFS服务器,NFS协议详细分析
目录 1. Ubuntu搭建NFS服务器 2. NFS协议分析 2.1 实验拓扑: 2.2 在kali抓包分析 1. Ubuntu搭建NFS服务器 NFS(Network FileSystem,网 ...
- Reporting Service 2008 “报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的”
今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) .具体情况 ...