关于类的描述哪些是正确的()
A. 任何一个类都可以被继承
B. 类的构造函数可以是const成员
C. 类成员函数会占用该类的对象的存储空间
D. 成员函数声明为const成员是为了防止修改调用该函数的对象
请给出解释
答案:A。
解释:
A:一个类只能继承一个父类,但是一个父类可以有多个子类。
B:内部类可以被public、protected、默认值、private修饰。
C:成员函数也是函数,函数都是有地址的,所以函数是占用内存空间的,但函数由于是多对象共享的,所以函数不占用对象的内存地址,是放在代码段的。
D:const成员函数不能修改调用它的对象。const 的形参只能调用原类的const成员函数。否则就有漏洞,可以通过成员函数简介修改值,从而达不到const的保护作用。
常成员函数含义是通过该函数只能读取同一类中的数据成员的值,而不能修改它:
1、常成员函数不能更新对象的数据成员。
2、当一个对象被声明为常对象,则不能通过该对象调用该类中的非const成员函数。
A、 任何一个类都可以被继承。
不正确,final类不可以继承。
D、成员函数声明为const成员是为了防止修改调用该函数的对象。
这是正确的。成员函数声明为const的目的就是它。
C、 类成员函数会占用该类的对象的存储空间。
静态类成员函数不会占用该类的对象的存储空间。
B、类的构造函数可以是const成员。
可以,构造函数不修改类中数据就可以了。
关于Java中类的构造方法的描述:
A:构造函数没有返回值,也不能用void修饰。如果不小心给构造函数前面添加了返回值类型,那么这将使这个构造函数变成一个普通的方法,在运行时将产生找不到构造方法的错误。
C:super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。 this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。
D:可以调用。
class Person
{public static void prt(String s) {
System.out.println(s);
}
// 父类·无参数构造方法: A Person.
Person() { //构造方法(1)
prt("父类·无参数构造方法: "+"A Person.");
}
// 父类·含一个参数的构造方法: A person's name is codersai
Person(String name) { //构造方法(2)
prt("父类·含一个参数的构造方法: "+"A person's name is " + name);
}
}
public class Chinese extends Person {
Chinese() {
super(); // 调用父类构造方法(1)
// 子类·调用父类“无参数构造方法”: A chinese coder.
prt("子类·调用父类”无参数构造方法“: "+"A chinese coder.");
}
// 子类·调用父类”含一个参数的构造方法“: his name is codersai
Chinese(String name) {
super(name);// 调用父类具有相同形参的构造方法(2)
prt("子类·调用父类”含一个参数的构造方法“: "+"his name is " + name);
}
// 子类:调用子类具有相同形参的构造方法:his age is 18
Chinese(String name, int age) {
this(name);// 调用具有相同形参的构造方法(3)
prt("子类:调用子类具有相同形参的构造方法:his age is " + age);
}
public static void main(String[] args) {
Chinese cn = new Chinese();
cn = new Chinese("codersai");
cn = new Chinese("codersai", 18);
}
}
本回答被网友采纳