在Java中成员变量为什么要设为php private 变量?

> 问题详情
Java中,未带访问权限修饰符的成员变量默认为______。A.PublicB.PrivateC.ProtectedD.Friendly
悬赏:0&答案豆
提问人:匿名网友
发布时间:
Java中,未带访问权限修饰符的成员变量默认为______。A.PublicB.PrivateC.ProtectedD.Friendly请帮忙给出正确答案和分析,谢谢!
权威推荐: & &
为您推荐的考试题库
网友回答(共2条)展开
匿名网友&&&&&&&&提问收益:0.00&答案豆
您可能感兴趣的试题
1______不是ASP中Response对象的Cookies集合的属性。A.DomainB.ExpiresC.BufferD.Path
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
找答案会员
享三项特权
找答案会员
享三项特权
找答案会员
享三项特权
选择支付方式:
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
常用邮箱:
用于找回密码
确认密码:本帖子已过去太久远了,不再提供回复功能。Java中的实体类中的属性有必要设置成private的码?set,get方法有必要么? - 知乎13被浏览2706分享邀请回答2添加评论分享收藏感谢收起0添加评论分享收藏感谢收起查看更多回答Java基础——成员变量、局部变量和静态变量的区别_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Java基础——成员变量、局部变量和静态变量的区别
来源:Linux社区&
作者:郝贵宝
之前在刚开始学习Java的时候,就谈了谈Java基础中的变量(见 ),虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态变量。变来变去太容易让人搞晕了,挑拣出来梳理一下喽!
要想区分这哥仨,首先,我们得知道它们分别是什么。先从成员变量下刀。
& & & &我们来研究一个事物:
& & & & & & & &属性:外在特征;例如人的身高,体重
& & & & & & & &行为:能够做什么;例如人有说话,打球等行为。
& & & &而在Java语言中,最基本的单位是类,类就是用来体现事物的。
& & & &用类class来描述事物也是如此:
& & & & & & & &属性:对应类中的成员变量
& & & & & & & &行为:对应类中的成员函数
& & & &定义类其实就是在定义类中的成员(成员变量和成员函数)
& & & 拓展:类是一个抽象的概念,而对象就是类的具体的存在,体现。例如:生活中的汽车,可以看做一个类,我们称之为汽车类,每一台车都有颜色和轮胎数(可以定义为属性,即成员变量),每一台车都可以跑(即车的行为,对应类总的成员函数),我们把汽车实例化一下,即会产生一个对象,比如奔驰、宝马(BMW)。
public class Car {& & & &
private S // 定义汽车颜色,全局变量& & & &
private int numL // 定义汽车轮胎数,全局变量&& & & &
public Car(String color, int numLuntai){& & & & & & & & &
super();& & & & & & & & &
this.color =& & & & & & & & &
this.numLuntai = numL& & & &
}& & & & public void run() {& & & & & & & & &
System.out.println(this.numLuntai+ "个轮子的" +this.color + "轿车在马路上行驶着");& & & &
public class ClassTest {& & & &
public static void main(String[] args){& & & & & & & & &
Car bmw = new Car("黑色", 4);& & & // 创建一个轿车对象,名字为bmw& & & & & & & & &
bmw.run();& & & &
运行结果:
4个轮子的黑色轿车在马路上行驶着
& & & 其中color和numLuntai就称为Car 类的成员变量,这个属性能够用来描述一个类的属性,否则,它就应该定义为局部变量。
& & & 例如一个for循环中的i即是局部变量。
& & & & & & & & &
for(int i = 0; i & args. i++) {& & & & & & & & & & & & &
......& & & & & & & & &
又例如写在成员方法中变量是局部变量。
publicclass Car {& & & &
private S // 定义汽车颜色,全局变量& & & &
private int numL // 定义汽车轮胎数,全局变量& & & &
public Car(String color, int numLuntai){& & & & & & & & &
super();& & & & & & & & &
this.color =& & & & & & & & &
this.numLuntai = numL& & & &
}public void run() {& & & & & & & & &
String carName=&宝马牌&;& & //这个就是局部变量& & & & & & & & &
System.out.println(this.numLuntai+ "个轮子的" +this.color + carName+"轿车在马路上行驶着");& & & &
}}publicclass ClassTest {& & & &
public static void main(String[] args){& & & & & & & & &
Car bmw = new Car("黑色", 4);& & & // 创建一个轿车对象,名字为bmw& & & & & & & & &
bmw.run();& & & &
4个轮子的黑色宝马牌轿车在马路上行驶着&
成员变量和局部变量的区别
& & & &成员变量:
& & & & & ①成员变量定义在类中,在整个类中都可以被访问。
& & & & & ②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
& & & & & ③成员变量有默认初始化值。
& & & 局部变量:
& & & & & ①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
& & & & & ②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
& & & & & ③局部变量没有默认初始化值&
& & & 在使用变量时需要遵循的原则为:就近原则
& & & 首先在局部范围找,有就使用;接着在成员位置找。
& & & 由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。
class Person{& & &
//成员变量,实例变量& & &
//静态变量,类变量& & &
//所有对象共享的属性用static修饰& & &
static String country = "CN";& & &
public void show(){& & & & & & System. out.println(country + ":" + name);& & & & & &
//等效语句:System.out.println(Person.country+ ":" + this.name);& & & }}class StaticDemo{& & &
public static void main(String[]args){& & & & & & Personp = new Person();& & & & & & System. out.println(p.country);& & & & & &
//可以用类名直接调用& & & & & & System. out.println(Person.country);& & & }}
成员变量和静态变量的区别
& & & 1、两个变量的生命周期不同
& & & & & & 成员变量随着对象的创建而存在,随着对象被回收而释放。
& & & & & & 静态变量随着类的加载而存在,随着类的消失而消失。
& & & 2、调用方式不同
& & & & & & 成员变量只能被对象调用。
& & & & & & 静态变量可以被对象调用,还可以被类名调用。
& & & 3、别名不同
& & & & & & 成员变量也称为实例变量。
& & & & & & 静态变量也称为类变量。
& & & 4、数据存储位置不同
& & & & & & 成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
& & & & & & 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
列表对比:
& & & &成员变量、局部变量、静态变量的区别&
&在类中,方法外
方法中,或者方法的形式参数
在类中,方法外
有默认初始化值
无,先定义,赋值后才能使用
有默认初始化值
对象调用,类名调用
与对象共存亡
与方法共存亡
与类共存亡
& & & & 尽管三者的本质都是变量,可是使用时却有相当大的区别,稍不留神就可能陷入陷阱。且先记住:在一个类中,如果一个变量能够用来描述一个类的属性,那就定义为成员变量,否则,它就应该定义为局部变量。而如果一个变量在全局中都能使用(某个内容是被所有对象所共享),那么我们就可以把这个变量用static来修饰,即为静态变量。(还要注意它与静态方法的紧密联系,这里且不细述了)
本文永久更新链接地址:
相关资讯 & & &
& (01月01日)
& (07/15/:16)
& (01月14日)
& (08/02/:22)
& (03/29/:53)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款关于java中被private修饰的方法默认为final的问题classDemo{privatevoidmethod(){System.out.println("haha");}classExexte
关于java中被private修饰的方法默认为final的问题
class Demo{
private void method(){
System.out.println("haha");
class Ex extends Demo{
private void method(){
System.out.println("gaga");
public static void main(String[] args){
Demo b=new Demo();
Demo a=b.new Ex();
a.method();
输出结果:haha
内部类覆盖了method()方法而且运行成功了,另外这里为什么没有多态,应该输出的是gaga呀
解决方案二:
简单说,private方法不能被继承,这个在java SE说明书中有描述,不能被继承的就没有了多态的前提条件。这点跟c++不同。
【云栖快讯】数据库技术天团集体亮相,分享一线生产实践经验,告诉你踩过的坑、走过的路,都是老司机,靠谱!干货分享,不可错过!&&
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供

我要回帖

更多关于 python private 变量 的文章

 

随机推荐