⑴ java中调用常量
问题一
在Java中,对象可以调用方法还可以调用常量,
对象.方法名();
对象.常量名回;
你的代码中,x就相当答于类Constant类对象的属性,而方法就相当于行为,
对象调用自己的行为,自己的属性当然都是可以的,
问题二
你用int s=m.x也是可以的,相当于直接把x的值赋给了变量s
使用final定义变量,就使得变量变成了常量。
我也是一个菜鸟,有些地方讲得不好,甚至有错的地方希望大家给我指正,
这样讲,希望楼主可以听懂,谢谢!
⑵ java 成员常量
是得, 非静态内部类中不可以定义静态成员。
非静态内部类相当于实例变量,加载外部类的时候先加载静态代码属性方法代码块然基森后才是其他对应的部分,如果此时实例返锋碰变量中包含静态代码块漏谈 那么我们到底改是怎么个加载顺序啦。
⑶ 如何在Java中定义常量
java没有叫全局变量的东西(有全局变量还叫OO吗?);原因:Java将所有设计都基于对象的基础上。Java的全局变量只能对一个类内部而言。能够在类内的任何地方使用的变量就是全局变量,而只在某个特定的函数或者局部的程序块内使用的变量则是局部变量。
所以:声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
使用:java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使升数枣用全局变量的目的了。
1、将一个 package 中需要的常量集中到一个 XyzConstants 之类的 interface 里声明,
就像普通的 field 那样声明就行了。
复制代码代码如下:
public interface SomeConstants {
public intPORT = 80;
public String IP = "166.111.16.1";
public boolean test = true;
}
就可以。
用到常量的类 implements 这个接口 .. 简单情况这样就行乐。
2、更 formal 的做法是写一个类维护所有的常量,负责从配置文件(例如properties文件或xml文件)读取所有的常量的值。
可以在一个 static {} 块里从配置文件中初始化所有 static 的变量。 这样有利于提高软件的可配置性。改些东东不用动代码,比较好。
最好要吵拆有 config Tool 负责写配置文件。
3.其他说明:
定义一个公开类,在里面加static 变量。
复制代码代码如下:
public class infos{
private infos(){
}
public static int PORT = 80;
public static String IP = "166.111.166.111";
public static boolean test = true;
public static final String MYNAME="zzz"; //定义中用了final,就是不能改变的。
}
在别的class中调用这些变量就是: infos.PORT,infos.IP,infos.test,infos.MYNAME
多个class交互时可以通过改变这些变量的值来传递信息。比如 infos.test被别的class改成了false,可能表示某一件事已经失败或已经做过,其它class就可以提前知道这些信息。毕姿
其中infos.MYNAME被定义为了final,即成为常量。用final修饰的成员变量表示常量,值一旦给定就无法改变!望采纳
⑷ java子类中方法的一个常量怎么调用
我真的看不出来model()中的三个pri值怎么会不一样。
为什么不用select case来组织语句呢,那样是不是更好一些?
model()方法中的pri只是if语句快中的局部变量,作用范围只是限于所在的if语句内,所以,你在其他类中甚至在Ballei类中以及model()方法自己都无法访问你在model()的if语句内定义的pri变量。
如果想访问model()中的pri,最好将pri设置为类Ballei的变量,也就是field
⑸ 关于java中静态常量的用法
java中, 静态变量或方法使用关键字static来标识,它的所有权是整个类。所以在调用的时候是以类名+方法名来调用的。静态变 量与静态方法的使用是为了达到数据或方法共享的目的,从内存的角度来看,这种方式提高了内存的利用率。同样的,在Java提供了这样好的方法之后,同样对静态属性的使用增添了一些限制,主要分为两点:
1.在静态方法中不可以调用非静态方法;
2.在静态方法中不可以使用this关键字。
此外,值得注意的是,如果在执行类时,希望先执行类的初始化程序,可以使用static定义一个静态区域。如:
publicclassExample{
static{
//something
}
}
⑹ 如何实现Java接口中定义的常量
接口中的常量会被实做袭让现该接口的类继承并纯局覆盖,用类名.常量命在main()里调用,常量名本身可以禅桐在类的其他方法中直接使用
⑺ 在JAVA中,一个类A中的常量,不能在另一个类B中的case后用A的对象调用吗为什么
一个类中的变量作用租早域就是一个类中,所以一个类A中的常量,不能在裤态另一个类B中的case后用A的对象调用弊纯雀
⑻ java接口中已经定义了常量,并且赋了初值,为什么用类名直接调用会报错。请详细回答
此处报错原因不是来不允许自你访问,而是无效的操作符,也就是说,如果你改为
String name=MyInterface.MAX_GRADE;就不会出问题
你取出接口中的常量,应该去做什么,而不是直接取出就什么都不做了!
⑼ java类实例化调用类中常量
NewClassnjf=newNewClass();
Stringa="a="+njf.s;
这个地方你自己重新new出来一个,实例变量s初始化为222,与前面你在main方法里面造出来的对象是两码事,所以值还是222。我的解释并不清楚,好好看类和对象的关系。
⑽ java中如何定义常量
在Java中定义常量可以通过普通类中使用static final修饰变量的方法。
final关键字使用的范围。这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。如数组就是一 个对象引用。为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。
一旦一个数组对象被final关键字设置为常量数 组之后,它只能够恒定的指向一个数组对象,无法将其改变指向另外一个对象,也无法更改数组(有序数组的插入方法可使用的二分查找算法)中的值。
关于Java中的常量:
final:一个常量,或不能覆盖的一个类或方法。
interface:接口,一种抽象类型,仅有方法和常量的定义