java user_java中private User user;和User user = new User();的具体区别?

展开全部

首先,private User user;是定义一个类的私有的User字段,private修饰符表示只能在类62616964757a686964616fe59b9ee7ad9431333337393564内访问user字段,一般指供类中的方法使用。如果要在其他类中使用,必须提供相应的接口才能访问。

而User user = new User();是实例化一个User对象,它可能存在方法中,表示实例化一个User对象。也可能是在定义类字段的时候,如果实在定义类的字段那么他的修饰符默认的是包级别的。就是说可以在同一个包中直接访问user对象,而不必通过接口。下面是一个简单的例子演示一下这两个之间的区别。public class ModifiedTest

{

public static void main(String[] args)

{

UserTest1 t1 = new UserTest1();

t1.getUser().sayHi();

UserTest2 t2 = new UserTest2();

t2.user.sayHi();

}

}

class UserTest1

{

private User user = new User();

public User getUser()

{

return user;

}

}

class UserTest2

{

User user = new User();

}

class User

{

public void sayHi()

{

System.out.println("hi");

}

}

在UserTest1类中user是private修饰的,所以在ModifiedTest类中必须通过UserTest1提供的getUser()接口访问间接user对象,而在UserTest2中采用的是默认的修饰符(包级修饰符,也就是不加private,public,protected修饰。User user = new User();),所以在ModifiedTest中可以通过实例对象直接访问user对象t2.user。(ModifiedTest和UserTest2在同一个包中)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值