从头认识java-5.3 public private protected
2015-10-29 15:49
651 查看
这一章节我们来讨论一下public 、private和protected
1.CLASS_PATH
环境变量里面的CLASS_PATH,这个路径就是我们java寻找文件的路径。
注意:一般在CLASS_PATH里面都会加上"."代表当前文件夹,如果不加上这个符号,那么,你编辑的java很有可能不能编译,因为在CLASS_PATH里面特定的几个文件夹里面很可能找不到你的源文件。
2.public
对于所有成员公开
对于上面的代码,其他的类只能访问构造器,因为构造器是public,其他的是private。
3.private
只能本类访问,其他所有都不可以。
我们在同一个包里面建立另一个类Test2
上面的这个类只能new Test(),其他的操作都是错误的。
4.protected
只能够子类访问父类的protected方法或属性。
我们修改一下刚才的那两个类,使得Test2继承Test,然后再Test里面建立一个protected的属性域。
从上面代码可以看见,子类Test2可以读取父类Test的protected属性。同样的,也可以延伸到方法上面去。
总结:这一章节主要讲述了public private protected的一些特性。
这一章节就到这里,谢谢。
-----------------------------------
目录
1.CLASS_PATH
环境变量里面的CLASS_PATH,这个路径就是我们java寻找文件的路径。
注意:一般在CLASS_PATH里面都会加上"."代表当前文件夹,如果不加上这个符号,那么,你编辑的java很有可能不能编译,因为在CLASS_PATH里面特定的几个文件夹里面很可能找不到你的源文件。
2.public
对于所有成员公开
package com.ray.ch05; public class Test { private int id; private void say() { } public static void main(String[] args) { new Test(); } }
对于上面的代码,其他的类只能访问构造器,因为构造器是public,其他的是private。
3.private
只能本类访问,其他所有都不可以。
package com.ray.ch05; public class Test { private int id; private void say() { } public static void main(String[] args) { new Test().say();// 访问私有方法。 new Test().id = 0;//设定私有域的值 System.out.println(new Test().id);//读取私有域的值 } }
我们在同一个包里面建立另一个类Test2
package com.ray.ch05; public class Test2 { public static void main(String[] args) { new Test(); // new Test().say();// 抛异常 // new Test().id = 0;//抛异常 // System.out.println(new Test().id);//抛异常 } }
上面的这个类只能new Test(),其他的操作都是错误的。
4.protected
只能够子类访问父类的protected方法或属性。
我们修改一下刚才的那两个类,使得Test2继承Test,然后再Test里面建立一个protected的属性域。
package com.ray.ch05; public class Test { private int id; protected String name; private void say() { } public static void main(String[] args) { new Test().say();// 访问私有方法。 new Test().id = 0;//设定私有域的值 System.out.println(new Test().id);//读取私有域的值 } }
package com.ray.ch05; public class Test2 extends Test { public static void main(String[] args) { new Test(); System.out.println(new Test2().name);// 读取父类的属性域 // System.out.println(new Test2().id);//抛异常,因为id是private } }
从上面代码可以看见,子类Test2可以读取父类Test的protected属性。同样的,也可以延伸到方法上面去。
package com.ray.ch05; public class Test { private int id; protected String name; private void say() { } protected String setName() { return ""; } public static void main(String[] args) { new Test().say();// 访问私有方法。 new Test().id = 0;// 设定私有域的值 System.out.println(new Test().id);// 读取私有域的值 } }
package com.ray.ch05; public class Test2 extends Test { public static void main(String[] args) { new Test(); System.out.println(new Test2().name);// 读取父类的属性域 System.out.println(new Test2().setName());// 读取父类的方法 // System.out.println(new Test2().id);//抛异常,因为id是private } }
总结:这一章节主要讲述了public private protected的一些特性。
这一章节就到这里,谢谢。
-----------------------------------
目录
相关文章推荐
- Java虚拟机(JVM)参数配置说明
- 丢掉IDE,回到Java的第一堂课
- spring-boot 使用log4j
- spring-boot学习
- java常用类库之system
- JAVA 中的重写与重载
- Java——正则表达
- Spring MVC 教程,快速入门,深入分析
- java中string和int互相转化 (转)
- Java设计模式----观察者模式(Observer)
- Java设计模式----观察者模式(Observer)
- 使用java语言,利用多线程调用WebService进行数据处理
- 对SpringMVC的@ResponseBody注解的理解
- java把ip地址存放到一个int型变量
- Netty4.x中文教程系列 Hello World
- Java字符串问题Top10
- Java 插件工程开发的概念
- Java读取有输出文件
- leetcode:Copy List with Random Pointer 细致分析,以及代码实现(JAVA版本)
- Java读取Excel中的数据