《Thinking in Java》学习笔记-----第6章 访问权限控制
来源:互联网 发布:x战警天启预告知乎 编辑:程序博客网 时间:2024/06/05 05:26
目录:
- 编写Java源代码文件的基本要求是什么
- 如何起包名
- Java不同访问权限修饰词的功能是什么
- 如何为具有私有化构造方法的类创建对象
编写Java源代码文件的基本要求是什么?
- 当编写一个Java源代码文件时,此文件通常被称为编译单元,每个编译单元都必须有一个后缀名.java
- 而在编译单元内则可以有一个public类,该类的名称必须与文件名称相同(包括大小写,但不包括文件的后缀名.java)。
- 每个编译单元只能有一个public类,否则编译器就不会接受。
如何起包名?
- 按照惯例,package名称的第一部分是类的创建者的反顺序的Internet域名。
- 因为域名是独一无二的,所以package名称也将是独一无二的。
Java不同访问权限修饰词的功能是什么?‘
- 在成员方法、成员变量前的修饰词:
- public: 所有包中的类可见
- protected:同一个包的类可见,有继承关系的子类可见
- (default) :同一个包的类可见
- private:本类可见
- 在类前的修饰词:
- public:所有包可见
- (default) :同一个包可见
- 不能用private和protected修饰类
如何为具有私有化构造方法的类创建对象?
- 解法一:在该类中创建一个static方法,它创建一个该类的对象并返回一个对它的引用。那么其他的类要想创建该对象,调用该方法就行了。
- 解法二:用单例模式。
以下为演示代码(Soup1和Soup2分别对应解法一和解法二):
/** * <p>Description:private constructor</p> * <p>2016年8月6日 上午10:41:26</p> * @author wdk * @version 1.0 */class Soup1{ private Soup1(){} public static Soup1 makeSoup(){ System.out.println("Create Soup1 successfully"); return new Soup1(); }}class Soup2{ private Soup2(){} private static Soup2 sp = new Soup2(); public static Soup2 access(){ System.out.println("Create Soup2[static] successfully"); return sp; } public void f(){ System.out.println("Invoke normal method successfully!"); }}public class Lunch { void testPrivate(){ //Can't do this! Private constructor: //!Soup1 soup = new Soup1(); } void testStatic(){ Soup1 soup = Soup1.makeSoup(); } void testSingleton(){ Soup2.access().f(); } public static void main(String[] args) { Lunch lunch = new Lunch(); lunch.testStatic(); lunch.testSingleton(); }}/*Output: Create Soup1 successfully Create Soup2[static] successfully Invoke normal method successfully!*/
1 0
- 《Thinking in Java》学习笔记-----第6章 访问权限控制
- Java - Thinking in Java 第6章 访问权限控制
- Thinking in Java 第6章 访问权限控制 【Java 访问权限修饰词】
- Thinking in java 笔记----权限访问控制
- thinking in java笔记 6 访问权限控制
- Thinking In Java笔记(第六章 访问权限控制)
- Thinking in Java 第6章 访问权限控制 【包:库单元】
- 读thinking in java笔记(五):访问权限控制
- 《Thinking in Java》第四版笔记---访问权限控制
- thinking in Java 之访问权限控制
- 【Thinking in Java】访问权限控制
- 【thinking in java】学习笔记 三 初始化及权限控制
- Thinking in Java——第六章-访问控制权限
- Thinking in Java 读书笔记 第六章 访问权限控制
- Thinking in Java:第六章-访问控制权限
- thinking in java 笔记 思维导图 第六章 访问权限控制
- day5 part1:《Thinking in Java》笔记第六章---访问权限控制
- Java 访问权限控制(Thinking in Java)
- nodejs连接sqlserver数据库支持事物封装-mssql模块
- tomcat配置文件server.xml详解
- php中filter函数用法之验证邮箱、url和ip地址
- 使用DB Browser辅助配置数据库
- 判断一个控件是否真正显示在主窗口
- 《Thinking in Java》学习笔记-----第6章 访问权限控制
- ubuntu sun-pingying
- 世界主要电信运营商总结
- NYOJ 14 会场安排问题 思路
- 使用Redis的Java客户端Jedis
- Error: HEAP CORRUPTION DETECTED
- easyUI tree数据格式的转换
- TIOBE 2016年8月编程语言排行榜:C语言达到历史新低
- Android 命名规范 (提高代码可以读性)