有以下代码,判断下面说法哪个是正确的( )。[br][/br]class Animal {[br][/br]public function run() {[br][/br]echo '奔跑';[br][/br]}[br][/br]}[br][/br]class Dog extends Animal {[br][/br]}[br][/br]$dog= new Dog();[br][/br]$dog->run();[br][/br]·
A: $dog对象不能创建,因为没有任何成员
·
B: 要访问run方法,需要创建Animal对象,通过Animal调用该方法
·
C: 代码运行结果会在浏览器输出'奔跑'字样
·
D: 代码运行错误
A: $dog对象不能创建,因为没有任何成员
·
B: 要访问run方法,需要创建Animal对象,通过Animal调用该方法
·
C: 代码运行结果会在浏览器输出'奔跑'字样
·
D: 代码运行错误
举一反三
- 对于下列Dog类,哪个叙述是错误的?[br][/br]class Dog {[br][/br]Dog(int m){[br][/br]}[br][/br]Dog(double m){[br][/br]}[br][/br]int Dog(int m){[br][/br]return 23;[br][/br]}[br][/br]void Dog(double m){[br][/br]}[br][/br]} A: Dog(int m)与Dog(double m)互为重载的构造方法。 B: int Dog(int m)与void Dog(double m)互为重载的非构造方法。 C: Dog类只有2个构造方法,而且没有无参数的构造方法。 D: Dog类有3个构造方法。
- 对于下列Dog类,哪个叙述是正确的?[br][/br]class Dog { [br][/br]void Dog(int m){ } [br][/br]int Dog(double m){ return 100; } [br][/br]void Dog(int m,int n){ } [br][/br]void Dog(float m){ }[br][/br] } A: 有3个构造方法。 B: 有两个构造方法。 C: 没有构造方法。 D: 有一个构造方法,是默认的不带参数的方法。
- 阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。[br][/br] public class A extends Thread{[br][/br] protected void run() {[br][/br] System.out.println("this is run()");[br][/br] }[br][/br] public static void main(String[] args) {[br][/br] A a = new A();[br][/br] a.start();[br][/br] }[br][/br] }
- 下列类定义中()是合法的抽象类的定义。 A: abstract<br/>Animal {abstract void growl();} B: abstract<br/>class Animal {<br/>abstract<br/>void growl() { System.out.println(“growl”);}<br/>} C: class<br/>abstract Animal {abstract void growl();} D: abstract<br/>class Animal {abstract void growl();}
- 分析以下代码并选择最佳答案:A或B中的下列哪一个代码,或两者都创建日期类的对象? A:[br][/br] publicclassTest{[br][/br] public Test() {[br][/br] new java.util.Date();[br][/br] }[br][/br] }[br][/br] [br][/br] B:[br][/br] publicclassTest{[br][/br] public Test() {[br][/br] java.util.Date date = new java.util.Date();[br][/br] }[br][/br] } A: A B: B C: 二者都不