包和访问权限_25
来源:互联网 发布:分级基金交易软件 编辑:程序博客网 时间:2024/05/04 19:06
1.什么是java当中的软件包
2.为什么要使用软件包
3.如何给一个类打包
package tc;class Test{public static void main(String args[]){System.out.println("我是包");}}
将类放置在一个包中,需要使用package "包名",编译时需要使用-d参数
javac -d . Test 命令的解释
-d 根据包名来生成文件夹名
. 生成的文件夹,放的位置(d:\code 放到了d盘 code文件夹)
类名将发生变化 "包名"+"."+“类名” tc.Test
包名的命名规范:
1.要求包名所有字母小写
2.包名一般情况下,是你的域名倒过来写 com.baidu.user
(这个时候会先建com文件夹,再建baidu,文件夹)
Java 当中的访问权限:
1.public:公共权限
2.private:私有权限
3.default:包级别访问权限(默认访问权限)
4.protected:受保护权限
当class申明为 public ,则类名一定要和java名一致(Person.java Person.class)
Person.java
package com.baidu;public class Person1{}
package com.baidu;public class Person1{String name;int age;void introduce(){ System.out.println("name");}}
package com.google;class Test{public static void main(String args[]){Person p = null;//申明一个Person的引用,并未调用它的构造函数}}
因为两个class在不同的包里,所以申明Person的时候要带上包名:com.baidu.Person
但也可以导入这个类 import com.baidu.Person; 就不需要再加入包名了。
import com.baidu.*;
public权限的作用:
package com.baidu; class Person{String name;int age;void introduce(){ System.out.println("name");}}
package com.google;class Test{public static void main(String args[]){com.baidu.Person p = null;//申明一个Person的引用,并未调用它的构造函数}}
结果:
原因:Person.java 和 Test.java 分别在两个不同的包内,所以 在Test.java 中调用 Person (Person没有public) 就会出错。调用不同包的类里面的 没有public 的变量、 函数,都会出错(Person.name 出错)。
总结:在不同的包当中,一个类想要访问另外一个类,要求被访问的类拥有public权限,如果想访问这个类的成员变量和成员函数,那么也应该要求这些成员变量和成员函数有也有public权限。
private权限
private只能修饰变量和函数,不能修饰类(除了特殊情况——内部类)
所以只能在当前类中使用,在类的外部统统无法用,不管是否在同一个包里面。
default权限
不写修饰时,就是default,它就是包级别访问权限:如果两个类在同一个包中,可以互相调用,如果在不同的包当中,就不能相互调用了,换成public才行。
前三个总结:
1.public:可以修饰类、成员变量、成员函数,没有任何限制,同一个包当中或者不同包当中的类都可以自由访问。
2.private:可以修饰成员变量、成员函数,只能在本类当中使用。
3.default(不写修饰符,就是default权限)可以修饰类、成员函数、成员变量,在同一个包当中可以自由访问。
protected权限首先拥有和default一样的功能,但是该权限只能修饰成员变量和成员函数,除此之外,还允许跨包的继承。
允许子类和父类在不同的包中,子类可以使用父类protected权限的成员变量和成员函数,就是default 的特例(在父子类关系下可以跨包)
- 包和访问权限_25
- 包和访问权限
- 07包和访问权限
- 9、包和访问权限
- java4android25_27包和访问权限
- 10.包和访问权限
- 包package和访问权限
- java包访问权限和包导入
- 包和访问权限(1)
- 包和访问权限(2)
- 包和访问权限(3)
- java当中的包和访问权限
- java基础---包和访问权限
- java 包和访问权限小结
- 包和访问权限(一)
- 包和访问权限(二)
- 包和访问权限(三)
- Java中的包和访问权限
- 【程序员面试宝典读书笔记】sizeof和strlen的区别
- CentOS设置pptpd VPN步骤
- Multi-Threaded Libevent Server Example
- Java虚拟机学习:分代收集算法
- 纯C++实现的截屏
- 包和访问权限_25
- 关于 Jquery Datatables 分页插件如何摆在左下角
- maven构建可执行jar包
- Linux ---CentOS系统资源常用监控工具
- iOS兼容开发:让程序同时支持iOS6和iOS7
- 调试Android的时候常用的几个logcat命令
- CONTAINING_RECORD的用法
- C++的异常处理
- 游学之地