如下:
在一个类里面声明如下三个成员变量:
private int a=10;
static int b=11;
private static int c=12;
现在我想请教各位大侠变量a、b、c之间的区别?最好谈谈实际运用中a、b、c之间的细微差别,比如在什么情况下可以引用a而不能引用b。
Java变量声明的区别
答案:4 悬赏:60 手机版
解决时间 2021-02-20 05:57
- 提问者网友:寂寞梧桐
- 2021-02-19 08:13
最佳答案
- 五星知识达人网友:时间的尘埃
- 2021-02-19 09:33
声明变量的形式主要是:
第一种:声明后直接赋值。
String str = new String("asd");这个就是先创建了一个字符串类型,之后声明str的类型为字符串并进行赋值“asd”。
第二种:声明变量但不定义具体的参数。
BufferedReader bre = null;这个就是先定义了流的读取对象,但是没有进行赋值,后续进行赋值。
备注:以上两种方法中第二种更灵活一些,因为在实际java开发过程中通常程序的运行过程报错与否无法知道,先定义好,之后在进行重新赋值,可以有效的避免方法参数无法在方法外面获取到的情况。
第一种:声明后直接赋值。
String str = new String("asd");这个就是先创建了一个字符串类型,之后声明str的类型为字符串并进行赋值“asd”。
第二种:声明变量但不定义具体的参数。
BufferedReader bre = null;这个就是先定义了流的读取对象,但是没有进行赋值,后续进行赋值。
备注:以上两种方法中第二种更灵活一些,因为在实际java开发过程中通常程序的运行过程报错与否无法知道,先定义好,之后在进行重新赋值,可以有效的避免方法参数无法在方法外面获取到的情况。
全部回答
- 1楼网友:酒醒三更
- 2021-02-19 11:49
首先是有static和没有static的区别
这两个区别最明显不过了,有static的就是类所有的,并不是对象所有的,如果你有面向对象的概念那这个应该是很清楚的,没有static的,每创建一个对象a都会创建一个副本给这个对象独占,如果有static的变量就是类所有的,也就是所有对象共享的
有private和没有private的区别,这个不算什么区别,类似private public protected都是访问权限,如果没有指明访问权限那么默认是包权限,不懂权限的看书去,书上有说明
- 2楼网友:时间的尘埃
- 2021-02-19 10:15
第一个变量(从上到下)a 定义为私有的非静态的 int类型, 说明要使用这个属性,必须创建该类对象 然后用这个类对象的引用去调用a 或者给这个变量a公有的get set方法 这样用引用调方法是比较规范的例如
class Test{
private int a = 10;
public int getA(){
return a;
}
public void setA(int a){
this.a = a;
}
public static void main(String[] s){
Test t = new Test();
t.setA(5);
System.out.println(t.getA());
}
}
也就是说 如果声明私有 外部类想调用这个属性必须 实例化Test类对象,然后用对象引用点方法才可以 本类中可以直接调用 但是必须在非静态方法中,比如main函数 他是静态方法所以无法直接调用a
第二个 static int b 说明这个属性是默认 就是比private高一级 是个静态变量,所以在静态方法或者非静态方法中可以直接this.b 或者直接 b=**
第三个 声明为私有的静态的 道理一样 是否加private无非是对访问权限的注释而已 从宽限到窄限 public protected 默认就是不做任何声明 private 这四种你可以直接在网上看下四种声明的 权限控制 我就不一一复制了
- 3楼网友:蓝房子
- 2021-02-19 09:45
第一种方法是正确的,没事。
在java中用char的默认编码是unicode码,
想知道unicode码是多少~就把char+1赋值给int~
得到的值减去1~~就是unicode的数字代码了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯