「java公有私有」java中私有的方法怎么调用
今天给各位分享java公有私有的知识,其中也会对java中私有的方法怎么调用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java的属性为什么要设置成为私有的?和公有的有什么不同?
- 2、java 私有的属性,方法和公有的介绍一下
- 3、在java中,如果没有给变量指定是公有或是私有,默认是什么?
- 4、java的类中成员变量前的私有和公共有什么区别
- 5、Java变量没声明是公有还是私有
- 6、Java中public,private,protected,和默认的区别?
Java的属性为什么要设置成为私有的?和公有的有什么不同?
其实所有的属性都可以写get()set() 方法 你首要要明白get()set()的作用
get是取值用的set则是赋值用的 明白了这点再说私有和公有
其实对于修饰符 是有四种的 public(公有的) protected(子类使用的) 默认的(就是不写修饰符 也叫友好的) private(私有)
我们先把前三个说成是公有的吧 公有的就是说在符合条件的情况下 就可以直接调用 该类的属性 好比说 现在有个 《人 》的类 人是有年龄的吧 如果你可以任意调用它的年龄属性的话 那么你就可以任意给他赋值了 年龄可以为负数也可以写一千一万 那就没有安全性和约束性了
但是如果你把属性定义为私有的 但给他提供公有的getset方法 那么你在调用的时候就不能调用它的属性 只能调用它的getset方法 这时候你就可以在set方法中添加赋值的约束了 这样就可以保证安全性和约束性了
说了这么多不知道你理解吗 不理解Q我 281108721 我也是新手 说的 不好
java 私有的属性,方法和公有的介绍一下
public class Test {
private String gen; //私有属性,表示用户性别
public String getGen() { //公开方法,用来获取这个用户的性别
return gen;
}
public void setGen(String gen) { //公开方法,用来获取这个用户的性别
this.gen = testGen(gen); //当用户设置性别的时候,调用私有方法来判断参数是否合法
}
/**
* 私有方法,用来测试用户设置的性别是否为男|女,如果设置不正确默认为男
* @param gen 可选值,男|女
* @return 如果不合法,则返回男
*/
private String testGen(String gen){
if("男".equals(gen) || "女".equals(gen)){
return gen;
}else{
return "男";
}
}
public static void main(String[] args){
}
}
在java中,如果没有给变量指定是公有或是私有,默认是什么?
1. 类(class)
可见性修饰符: public—在所有类中可见,在其他包中可以用import导入。
缺省—就是没有修饰符,在同一个包中的类中可见,在其他包中不能用import导入。
修饰符:final—终态类,表示该类不能被继承
abstract—抽象类,不能新建对象
2. 变量(variable)
Java中变量有两种,方法变量和字段变量
方法变量只能用一个修饰符:final—表示常量,不能修改
下面是字段变量的修饰符
可见性修饰符:public—在任何类中可见
protected— 在子类中或同一个包中可见
private—只在本类中可见,子类中也不可见
缺省—在同一个包中可见,子类不在一个包中,子类中也不可见
修饰符:static—静态变量,被类的所有实例共享
final—常量,定义后不能修改
*transient—告诉编译器,在类对象序列化的时候,此变量不需要持久保存
*volatile—指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理
这两带*的不是很常用,但也是Java的修饰符,我也不是很清楚
3.方法(method)
可见性修饰符:public—在任何类中可见
protected—在子类中或同一个包中可见
private—只在本类中可见,子类中也不可见
缺省—在同一个包中可见,子类不在一个包中,子类中也不可见
修饰符: static—静态方法,并不需要创建类的实例就可以访问静态方法
final—常方法,所有子类不能覆盖该方法,但可以重载
abstract—抽象方法,在抽象类中没有实现的方法
native—本地方法,参见Java Native Interface(JNI)
synchronized —在多线程中,synchronized方法调用时,其他所有方法不能调用该方法
3. 接口(interface)
可见性修饰符:public—所有类中可见
缺省—同一个包中可见
接口中的变量总是需要定义为“ public static final 接口名称”,但可以不包含这些修饰符,编译器默认就是这样
接口中的方法只能使用public和abstract修饰符
java的类中成员变量前的私有和公共有什么区别
公有的在外部可以直接new对象然后直接点变量名即可使用该变量
而私有的变量不能直接点必须通过get或者set方法才能访问私有变量,这就是java中的封装
下面是例子
public class User {
public String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
以下为测试代码:
public void publicTest(){
User user=new User();
String username=user.username;//程序不会报错
//String password=user.password; 程序报错
String password=user.getPassword();//程序没报错,可以正常获得password的值
}
Java变量没声明是公有还是私有
默认的。
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不
仅可以跨类访问,而且允许跨包(package)访问。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以
及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、
属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访
问。
Java中public,private,protected,和默认的区别?
1、private修饰词,表示成员是私有的,只有自身可以访问; \x0d\x0a2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。 \x0d\x0a3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限; \x0d\x0a4、public修饰词,表示成员是公开的,所有其他类都可以访问;
关于java公有私有和java中私有的方法怎么调用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。