JAVA的一道小选择题....跪求解答
来源:百度知道 编辑:UC知道 时间:2024/06/26 04:58:47
A.float A a
B.public A a=A();
C.A a=new int();
D.static A a=new A();
我觉得哪个都不对啊 AB没有new,C那儿是int();而不是构造方法
D前面加了个static而构造方法前面不能用static修饰所以我觉得哪个都不对啊
跪求解答~
对象也分静态非静态的?
o(╯□╰)o
static 修饰的是a这个变量
D是对的。但这种声明方式只能声明成全局变量,因为static修饰属性表示属性是类中共有的。声明成局部变量就与static矛盾,故报错。如:
public class B{
static A a = new a(); //合法的
public void Method(){
static A a = new a(); //编译错误
}
}
楼主不信可以自己写个类A,在写个测试类测试一下。
楼主应该见过这种声明方式:
static String s ; 这里的成员变量s不就是静态的String对象类型么
那static A a ;这样写有什么不可以呢, 只是成员变量a是A对象类型而已
明显D是对的!
A a = new A();是什么含义你知道么?
声明一个类型为A的对象,取名为a,并且实例化a这个对象。
static是静态修饰符,当然可以修饰这个a对象,表明a这个对象
是静态对象。你嗦说的,构造方法前面不能用static,唉,
class A{
public A(){
}
}
这个publci A(){}才是构造方法。。
先把构造方法的含义和申明对象、实例化对象的步骤的概念搞
清楚吧!
【构造方法前面不能用static修饰】
跟这个有什么关系?
static是修饰a的。也就是创建一个A类的static类型的变量a
类 是new对象的。是对象的模板,是批量创建对象的。
我的意见是C正确!
class A{}类体里 既可以有int,也可以由String,,,都可以。
D,是对的。static A a=new A();明显是一个类里面的一个属性,比如:static A a=null;你能理解。D选项只