黑马程序员技术交流社区
标题:
关于类的public与private的修饰疑惑
[打印本页]
作者:
抽烟男孩
时间:
2013-4-2 18:03
标题:
关于类的public与private的修饰疑惑
本帖最后由 抽烟男孩 于 2013-4-3 08:08 编辑
在Eclipse编译器里定义一个类只能是public或defualt
如我定义以下类会有问题
private class Test{
public static void get(String[] args){
System.out.println("我是defualt类,谁能访问我");
}
}
复制代码
而且如果我想两个类写在一起也会有问题
private class Help {
Help(){System.out.println("我是Help类,我想成为私有类")}
}
public class Test9 {
public static void main(String[] args){
System.out.println("我是defualt类,谁能访问我");
}
}
复制代码
我想问的是java中默认的修饰符defualt是friend吗?java中的私有类如何定义?写在一起的两个类中无修饰符的类是否谁有访问权限?
作者:
谢冬
时间:
2013-4-2 18:12
您这编译能通过吗? 外部类只能用public或者默认修饰,这里的默认修饰符是不写,java中好像没有friend一说,就是class前面不加任何修饰!java中内部类才可以用private修饰!如果你要把两个类放在一个文件中没问题,但是最多只能有一个类使用public修饰
作者:
张源锋
时间:
2013-4-2 18:17
本帖最后由 无奈№追夜 于 2013-4-2 22:23 编辑
看图,总结了各个修饰符的权限,不是内部class只能是public 或default
P.jpg
(21.22 KB, 下载次数: 142)
下载附件
2013-4-2 18:16 上传
作者:
赵海洋
时间:
2013-4-2 18:37
private不能修饰外部类,只能修饰内部类。而public和default都能修饰外部类和内部类。所以那里不能用private。
作者:
庞立森
时间:
2013-4-2 18:44
你那样写编译都会出错,
private不能用在类上(确切的说不能用在外部类上),只能用在类中,但是可以修饰内部类如下
class Demo
{
private class Demo1
{
}
}
一般用在外部类的有public protect
protect是在一个包中可以访问,
作者:
王川
时间:
2013-4-2 21:00
私有类只能写在其他类中,属于某一个类在内部调用
作者:
tshch1989
时间:
2013-4-2 21:21
private是成员修饰符,只能修饰类的成员,不能用在类的外部,java就是这么规定的,是规则哦亲;
作者:
陆旭东
时间:
2013-4-2 21:28
修饰类名只有public和默认,只有成员方法和变量能用public,private,protect和默认
作者:
梁志兵
时间:
2013-4-2 21:33
public 公共的
public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。 可能只会在其他任何类或包中引用 public 类、方法或字段。所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。
private 私有的
private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。 只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。在类的外部或者对于子类而言,它们是不可见的。 所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员
作者:
陈丽莉
时间:
2013-4-2 22:10
若还有问题,继续追问; 没有的话,将帖子分类改成【已解决】哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2