关于类描述正确的是那些

关于类的描述哪些是正确的()
A. 任何一个类都可以被继承
B. 类的构造函数可以是const成员
C. 类成员函数会占用该类的对象的存储空间
D. 成员函数声明为const成员是为了防止修改调用该函数的对象
请给出解释

答案:A。

解释:

A:一个类只能继承一个父类,但是一个父类可以有多个子类。

B:内部类可以被public、protected、默认值、private修饰。

C:成员函数也是函数,函数都是有地址的,所以函数是占用内存空间的,但函数由于是多对象共享的,所以函数不占用对象的内存地址,是放在代码段的。

D:const成员函数不能修改调用它的对象。const 的形参只能调用原类的const成员函数。否则就有漏洞,可以通过成员函数简介修改值,从而达不到const的保护作用。



常成员函数含义是通过该函数只能读取同一类中的数据成员的值,而不能修改它:

1、常成员函数不能更新对象的数据成员。

2、当一个对象被声明为常对象,则不能通过该对象调用该类中的非const成员函数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-10

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);

}

}

本回答被网友采纳
第2个回答  推荐于2016-12-02
A. 任何一个类都可以被继承
不正确,final类不可以继承。
D. 成员函数声明为const成员是为了防止修改调用该函数的对象
这是正确的。成员函数声明为const的目的就是它。
C. 类成员函数会占用该类的对象的存储空间
静态类成员函数不会占用该类的对象的存储空间。
B.类的构造函数可以是const成员
可以,构造函数不修改类中数据就可以了。本回答被提问者采纳
相似回答