叨叨两句
- ~
牛客网——java专项练习081
1
下列选项中关于Java中super关键字的说法正确的是()
正确答案: A
A super关键字是在子类对象内部指代其父类对象的引用
B super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D 子类通过super关键字只能调用父类的属性,而不能调用父类的方法
super是java提供的一个关键字,super用于限定该对象调用它从父类继承得到的Field或方法。super关键字不能出现在static修饰的方法中,因为static修饰的方法是属于类的。如果在构造器中使用super,则super用于限定该构造器初始化的是该对象从父类继承得到的field,而不是该类自己定义的field。需要注意的是,super关键字只能指代直接父类,不能指代父类的父类
super出现在继承了父类的子类中。有三种存在方式:
第一种:super.xxx;(xxx为变量名或对象名)
这种方法意义为,获取父类中的名字为xxx的变量或方法引用。
使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作
第二种:super.xxx();(xxx为方法名)
这种方法意义为,直接访问并调用父类中的方法。
第三种:super();
这种方法意义为,调用父类的初始化方法,其实就是调用父类中的public xxx()方法
此外,super只能指代其直接父类,在父类中调用super能指代父类的父类。
2
已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( )
正确答案: C D
A args[0] = "MyTest a b c"
B args[0] = "MyTest"
C args[0] = "a"
D args[1]= "b"
对于java命令,类名后面跟着的就是main函数的参数,多个参数则用空格隔开。 main方法的形参是一个string数组所以对于java mytest a b c传入的参数算是一个string数组。 即args[0]=a args[1]=b args[2]=c