《Thinking in Java》学习笔记-----第6章 访问权限控制
2016-08-08 10:51
746 查看
目录:
编写Java源代码文件的基本要求是什么
如何起包名
Java不同访问权限修饰词的功能是什么
如何为具有私有化构造方法的类创建对象
而在编译单元内则可以有一个public类,该类的名称必须与文件名称相同(包括大小写,但不包括文件的后缀名.java)。
每个编译单元只能有一个public类,否则编译器就不会接受。
因为域名是独一无二的,所以package名称也将是独一无二的。
public: 所有包中的类可见
protected:同一个包的类可见,有继承关系的子类可见
(default) :同一个包的类可见
private:本类可见
在类前的修饰词:
public:所有包可见
(default) :同一个包可见
不能用private和protected修饰类
解法二:用单例模式。
编写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! */
相关文章推荐
- thinking in java 笔记 思维导图 第六章 访问权限控制
- 《Thinkinginjava》第6章-访问权限控制
- [学习笔记][Java编程思想]第6章:访问权限控制
- Java学习笔记——访问权限控制
- Java编程思想学习笔记六:访问权限控制
- 【java编程思想--学习笔记(二)】访问控制-Java访问权限修饰词
- 《Java 编程思想》-第6章 访问权限控制 笔记
- 《Thinking in Java》——访问权限控制的两个原因
- 《Thinking in Java》狗血的学习笔记-2表达式与控制流程
- Java学习笔记(2) :访问权限控制
- Java 编程思想(第四版)学习笔记(6)访问权限控制
- Thinking-in-Java 读书笔记-6-访问权限控制
- Java 学习笔记6-访问权限控制
- java学习笔记八——访问权限控制
- 【java编程思想--学习笔记(三)】访问控制-接口实现与类的访问权限
- [JAVA]学习笔记(三)——访问权限控制
- Java学习笔记—访问权限控制
- java学习笔记(四)——访问权限控制
- thinking in java 14章 类型信息 学习笔记
- 【Java学习笔记】Java中方法和成员变量的访问控制