public 这个构造方法在其他包中也可以访问 没有 包可见性,只能在本包中访问 private 在本类之外无法通过构造方法创建对象,用于单例模式
权限的问题 默认的是 package access 即包可见 有public 所有包可见
你这是访问权限控制的问题,在java中存在以下的访问权限控制:default 包中的其他类访问。不包括子类,不包括其他包 例如:int size; public 所有类,包括其他包的。 例如:public int size; protected 所有子类,不包括其他包 例如:protected int size; private 当前类,不包括其他类 例如:private int size;构造函数前没有public表示其是默认形式,也就是default的情况。
啥也没有就是默认的包访问,只有在同一个包里的程序才能使用
其中默认修饰是:public.
有public和啥也没有,没有区别,都能被其他类不受限制地访问.
而private一般用于单态设计模式.
没有 包可见性,只能在本包中访问
private 在本类之外无法通过构造方法创建对象,用于单例模式
其中默认修饰是:public.
有public和啥也没有,没有区别,都能被其他类不受限制地访问.
而private一般用于单态设计模式.--------------------
这人纯粹不懂
一般构造函数不会是private的~~~~~~~~~~~~`
你这是访问权限控制的问题,在java中存在以下的访问权限控制:default 包中的其他类访问。不包括子类,不包括其他包 例如:int size;public 所有类,包括其他包的。 例如:public int size;protected 所有子类,不包括其他包 例如:protected int size;private 当前类,不包括其他类 例如:private int size;
--------------------
怎么在好几篇帖子上都见到这个
-------------------------------------------------------------
实际情况是子类和本包可见
----------------
谁说的?
其中默认修饰是:public.
有public和啥也没有,没有区别,都能被其他类不受限制地访问.
而private一般用于单态设计模式.
这个人确实什么也不懂
我建议大家一开始的时候把书好好的看一遍,特别是基础的,基础扎实了,后面才快
这是我的经验
希望大家仔细看书,自己多思考,这样才有效果
————————————————————
这位仁兄,错了,没写是package权限,不是protected
啤酒肚啊,我感觉不一样啊,package是在同一个包中可以访问吧?而protected只有子类能访问??
private default protected public
同一个类中 Y Y Y Y
同一个包中的子类 Y Y Y
同一个包中的非子类 Y Y Y
不同包中的子类 Y Y
不同包中的非子类 YY表示可以访问,很清楚吧
private default protected public
同一个类中 Y Y Y Y
同一个包中的子类 Y Y Y
同一个包中的非子类 Y Y Y
不同包中的子类 Y Y
不同包中的非子类 YY表示可以访问,很清楚吧
private default protected public
同一个类中 Y Y Y Y
同一个包中的子类 Y Y Y
同一个包中的非子类 Y Y Y
不同包中的子类 Y Y
不同包中的非子类 YY表示可以访问,很清楚吧
//: c11:Blips.java
// From 'Thinking in Java, 2nd ed.' by Bruce Eckel
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
// Simple use of Externalizable & a pitfall.
import java.io.*;
import java.util.*;class Blip1 implements Externalizable {
public Blip1() {
System.out.println("Blip1 Constructor");
}
public void writeExternal(ObjectOutput out)
throws IOException {
System.out.println("Blip1.writeExternal");
}
public void readExternal(ObjectInput in)
throws IOException, ClassNotFoundException {
System.out.println("Blip1.readExternal");
}
}class Blip2 implements Externalizable {
Blip2() {
System.out.println("Blip2 Constructor");
}
public void writeExternal(ObjectOutput out)
throws IOException {
System.out.println("Blip2.writeExternal");
}
public void readExternal(ObjectInput in)
throws IOException, ClassNotFoundException {
System.out.println("Blip2.readExternal");
}
}public class Blips {
// Throw exceptions to console:
public static void main(String[] args)
throws IOException, ClassNotFoundException {
System.out.println("Constructing objects:");
Blip1 b1 = new Blip1();
Blip2 b2 = new Blip2();
ObjectOutputStream o =
new ObjectOutputStream(
new FileOutputStream("Blips.out"));
System.out.println("Saving objects:");
o.writeObject(b1);
o.writeObject(b2);
o.close();
// Now get them back:
ObjectInputStream in =
new ObjectInputStream(
new FileInputStream("Blips.out"));
System.out.println("Recovering b1:");
b1 = (Blip1)in.readObject();
// OOPS! Throws an exception:
//! System.out.println("Recovering b2:");
//! b2 = (Blip2)in.readObject();
}
} ///:~
这个页面的地址强悍:http://community.csdn.net/Expert/topic/4444/4444444.xml?temp=.5776178好多44444
观察能力好强.
protected 所在包中的类和其他包中当前 类的继承类可以访问
无(friendly) 只有所在包中的类可以访问
private 只有当前类可以访问
默认的情况下也是PUBLIC
全当给自己一个良好的习惯