网站首页 > java教程 正文
package a.a1;
/**
* 测试封装 四个访问控制符 private default protected public
*/
public class B1 {
//B1在a1包中
private int pri;
//private 私有 只能在同一类内使用
int def;
//不标注修饰默认default 默认 同一个包内都可调用
protected int pro;
//受保护的 包内可用&子类可用 *子类对象不可用
public int pub;
//公共 完全可用
//方法的封装效果同属性
}
package a.a1;
public class B2 {
//B2和B1在同一个包a1内
{
B1 b1 = new B1();
//b1.pri报错 private不能在类外使用
b1.def =0;
b1.pro = 1;
b1.pub =2;
}
}
package a.a2;
public class C1 {
//C1在a2包 与a1.B1 不在一个包内
{
a.a1.B1 b1 = new a.a1.B1();
//不在一个包内需要import导入或者写完整路径
//b1.pri报错 不在同一类内
//b1.def报错 不在同一包内
//b1.pro报错 不在同一包内且不是子类
b1.pub = 1;
//public完全开放使用
}
}
class C2 extends a.a1.B1 {
{
super.pro =1;
//不在同一包内的父类的protected属性可以调用
pub =2;
//默认super.pub
//super.pri super.def 报错 不在同一包内无法使用
a.a1.B1 b1 = new a.a1.B1();
//b1.pro报错 子类中生成的父类B1的对象b1不能使用 不在同一包内的 父类的protected内容
b1.pub =2;
C2 c2 = new C2();
c2.pro =1;
//子类C2生成的对象c2可以用子类继承来的c2.protected内容
c2.pub =2;
}
}
猜你喜欢
- 2024-11-13 Java面向对象三大特征:封装、继承、多态
- 2024-11-13 利用Java注解的简单封装,进行的一次优化
- 2024-11-13 如何封装原生的 Java NIO 以及扩展?详细到让你分分钟搞定Netty
- 2024-11-13 Java面向对象——基础2 封装、继承、多态
- 2024-11-13 想要 Spring Data JPA/MongoDB 更易用,你应该这样封装
- 2024-11-13 Java面向对象高级特性-封装(java面向对象三大特点)
- 2024-11-13 Java基础类型与封装类型的区别与联系
- 2024-11-13 java包装类的自动封装、自动拆箱和缓存
- 2024-11-13 java程序员必备的基础知识_java面向对象之封装(二)
- 2024-11-13 Java面试基础回顾03-封装(java基础面试题及答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)