java软件包的访问权限和继承
public:公共权限,可以修饰类、成员变量和成员函数,不论是否在同一个包中均可自由访问
package wang;
//当一个类的权限为public时,类名必须和文件名相同
public class Person{
public String name; //public权限
public void introduce(){
System.out.println(name);
}
}
package chavez;
class Test{
public static void main(String args[]){
//不在同一个包中时要写全名
wang.Person p = new wang.Person();
}
}
在不同的包当中,如果一个类不是public权限,在另外一个包中的类就无法对其进行访问,类的成员变量和成员函数同理
包的导入:
当两个类不在同一个包中,生成一个类的引用时需要使用全名,为方便书写,可导入这个类
package chavez;
import wang.*; //导入wang文件夹下的所有类
class Test{
public static void main(String args[]){
Person p = new Person();
p.name = "zhangsan";
p.introduce();
}
}
private:私有权限,修饰成员变量和成员函数,可以修饰内部类
package wang;
class Person{
private String name; //private权限
private void introduce(){
System.out.println(name);
}
}
成员变量和成员函数用private修饰后只能在当前类中进行访问,不论是否在同一个包中。继承关系中,子类无法访问父类中private权限的成员变量和成员函数。
default:包级别访问权限,可以修饰类、成员变量和成员函数
两个类在同一个包当中,对类的成员变量和成员函数可以任意访问。如果子类和父类不在同一个包当中,子类可以继承父类当中的default权限的成员变量和成员函数,但由于权限不够无法使用。
package wang;
class Person{
String name; //default权限,不写权限修饰符
void introduce(){
System.out.println(name);
}
}
//与Person在同一个包中
package wang;
class Test{
public static void main(String args[]){
Person p = new Person();
p.name = "zhangsan";
p.introduce();
}
}

protected:受保护权限,拥有和default一样的功能,但该权限只能修饰成员变量和成员函数。当子类和父类不在同一个包中时,子类可以继承并使用父类中protected权限的成员变量和成员函数(跨包继承)。
package wang;
public class Person{
protected String name;
}
package chavez;
import wang.Person;
class Student extends Person{
void introduce(){
System.out.println("我的名字叫"+name);
}
}
public权限和protected权限的区别:
一个类中的public权限的成员变量和成员函数,任何类都可以调用
一个类中的protected权限的成员变量和成员函数,只有该类所属的包之外的、该类的子类才可以继承使用
权限大小从大到小排列:public > protected > default > private
java软件包的访问权限和继承的更多相关文章
- 浅析Java中的访问权限控制
浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但 ...
- java基础(八)-----深入解析java四种访问权限
Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类 ...
- java基础(七) java四种访问权限
引言 Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: ...
- Java基础之访问权限控制
Java基础之访问权限控制 四种访问权限 Java中类与成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private. Public:权限最大,允许所有类访问,但 ...
- Thinking In Java 4th Chap6 访问权限控制
引入一个包及其所包含的方法:import java.util.ArrayList;(引入java.util包,并引入了包中的ArrayList类) import java.util.*;(引入了jav ...
- Java成员的访问权限控制
Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...
- (转)浅析Java中的访问权限控制
原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下 ...
- java类的访问权限
1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...
- java四种访问权限修饰符
java中四个访问权限修饰符: public(公开的).protected(受保护的).default(默认的).private(私有的). 它们决定了紧跟其后被定义的东西的使用范围. 适用范围< ...
随机推荐
- vc调用dll 示例
其实,调用dll文件的方法很多,不一定要使用LoadLibrary函数.如果使用的话,你就要预先声明dll中的函数,很麻烦. 下面是我使用dll时的一点技巧,就是引入lib文件,可以参考: 一.Win ...
- Indian Scientists Design Device to Collect Solar Energy 印度科学家设计太阳能收集设备
Indian scientists have designed a new device they hope will solve one of the biggest problems with ...
- 【LeetCode】7. Reverse Integer 整型数反转
题目: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 思路:不 ...
- LED点阵显示名字
学习了一周的单片机,然后中途有事打断了两周,现在温习一下之前学的东西,用“普中科技单片机”上的LED点阵显示自己的名字. P1接J19(绿).P2接J20(红),P0接J12(数码管段选):5V电压: ...
- Android开发中常用到方法总结
1.判断服务是否在运行中 public static boolean isServiceRunning(Context context, String serviceName) { boolean ...
- WWF3动态修改工作流<第九篇>
一.动态添加或移除工作流活动 首先添加一个顺序的空白工作流. 然后添加一个Winform程序,界面如下: 代码如下: namespace WinForm { public partial class ...
- 委托delegate使用方法
允许传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m,说白了就是可以把方法当作参数传递. class Program { //delegate的使用方法一 public del ...
- Android SQLite数据储存方式
SQLiteOpenHelper 类 用SQLiteOpenHelper 类中的 getWritableDatabase()和getReadableDatabase()方法可以获得数据库的引用. 为了 ...
- ASP.NET验证控件二
RequiredFieldValidator 验证控件 页面布局: <div> <h1>RequiredFieldValidator 验证控件</h1> 用户名 ...
- Eclipse 中打不开android sdk managerf
今天配置android sdk 的时候,出现了android sdk 打不开的情况.无论直接点击 sdk manager.exe 还是从eclipse启动,都不起作用,双重启(重启eclipse和ad ...