java 方法修饰符的问题 Java中的方法修饰符有public,private,protect,请问谁能举个例子说明这几中修饰符的应用场景啊。比如说再什么情况下要使用public,什么情况需要使用private。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所有JAVA基础教程都有详细的介绍。 One:public java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。Two:private java语言中队访问权限限制最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象,其子类不能访问,更不允许跨包访问。Three:protect java语言中介于public和private之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法以及子类访问。即使子类在不同的包中也可以访问。Four:(default)即不加任何访问修饰符,通常称为“默认访问模式”。该模式下,只允许在同一个包中进行访问。兄弟,你可以下载《Java 编程思想》去看下第四版第六章。至于什么时候使用,你自己琢磨着看看,都已经告诉你基本的作用了,使用上应该问题不大~~! 建议你下载尚学堂马士兵java视频教材很有用看看就懂了 尽量使用private,不行的话用protected或默认的,还不够用的话就public 非常感谢各位的回复,这几个修饰符的作用是知道的,我是想知道,这几个修饰符怎么来使用,比如开发的时候,你是用public呢,还是用private比较好呢? 尽量使用private,不行的话用protected(一般用于基类,方便继承),还不够用的话就public public 是外面什么对象都可以访问。。protected 只有继承的子类才可以访问private 只有类本身才可以访问default (没有关键字)同一个包下的都可以访问。不管是不是子类。要怎么用还真不知道怎么用,因为这要看你设计时的应用。。一般你想在类里面自己控制。外面访问时有一定限制。那么设置成private 然后做一个public 的方法。就可以在public 的方法里面控制该变量的创建于赋值。例如:public Test class{ private String name; public void setName(String name){ if(name.equals("小明")){ this.name="小明"; }else{ this.name="大明"; } } public String getName(){ return name; }}上面的例子中。name 是 String 按理说可以赋值="CSDN" 或 = "哈哈".但你想控制这个name的赋值只能是小明或大明。如果你在外面赋值的时候都要判断后才给其赋值。那么你的代码将很长。因为每次赋值你都要判断一次才赋值。也不符合面向对象的封装概念。。但你按上面的方式做以后。你的代码只要Test t=new Test();t.setName("HAHA ");Systm.out.println(t.getName());打印的将是 "大明" 就是说不管你赋值什么只能给其取名小明或大明。。得以很好的控制对象的一致性。 项目 包 类 子类 不同包public y y y yprotected y y y n默认 y y n nprivate n y n ny 表示可以调用或者引用 n 表示不能楼主在看不明白的话我再給你举例子 看马士兵的视频,里面讲的很详细,使用的话,一般尽量定义为private的。 属性尽量要用private 方法尽量要用public pretected很好用 但凡事都有个特殊情况 都不对 没有绝对的必须要用哪个 这个怎么实现!!!!1! InputStream输入流的问题 如何判断一个数字是否为奇数? JAVA学的怎么样才能找到一份工作? 变态的简单题 java如何批量读取文件 如何学习java网络编程比如socket 请教过来人:是应该学得深还是要学得广 谁能帮我做个范例啊 Java 聊天室程序 新手用socket做的。求帮忙找错 Java 接口传输文件的问题 打包好的JAR包,拷贝安装过后Jre文件,如何设置关联配置
Two:private java语言中队访问权限限制最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象,其子类不能访问,更不允许跨包访问。
Three:protect java语言中介于public和private之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法以及子类访问。即使子类在不同的包中也可以访问。
Four:(default)即不加任何访问修饰符,通常称为“默认访问模式”。该模式下,只允许在同一个包中进行访问。
兄弟,你可以下载《Java 编程思想》去看下第四版第六章。
至于什么时候使用,你自己琢磨着看看,都已经告诉你基本的作用了,使用上应该问题不大~~!
protected 只有继承的子类才可以访问
private 只有类本身才可以访问
default (没有关键字)同一个包下的都可以访问。不管是不是子类。要怎么用还真不知道怎么用,因为这要看你设计时的应用。。
一般你想在类里面自己控制。外面访问时有一定限制。那么设置成private 然后做一个public 的方法。
就可以在public 的方法里面控制该变量的创建于赋值。例如:
public Test class{
private String name;
public void setName(String name){
if(name.equals("小明")){
this.name="小明";
}else{
this.name="大明";
}
}
public String getName(){
return name;
}
}上面的例子中。name 是 String 按理说可以赋值="CSDN" 或 = "哈哈".
但你想控制这个name的赋值只能是小明或大明。如果你在外面赋值的时候都要判断后才给其赋值。那么你的代码将很长。因为每次赋值你都要判断一次才赋值。也不符合面向对象的封装概念。。但你按上面的方式做以后。你的代码只要
Test t=new Test();
t.setName("HAHA ");
Systm.out.println(t.getName());打印的将是 "大明" 就是说不管你赋值什么只能给其取名小明或大明。。得以很好的控制对象的一致性。
public y y y y
protected y y y n
默认 y y n n
private n y n ny 表示可以调用或者引用 n 表示不能
楼主在看不明白的话我再給你举例子