java类成员和实例成员,面试题16 关于实例成员和类成员区别

面试题16  关于实例成员和类成员区别

考题题干

下面关于实例成员的说法,哪些是正确的?

A.实例成员也被称为实例变量

B.实例成员属于类成员

C.实例成员隶属于实例,但不隶属于整个类

D.实例成员包括实例变量和实例方法

E.实例成员变量就是静态变量

试题分析

这道题主要考查什么是实例成员?什么是类成员?两者之间有着怎样的关系?又有着怎样的区别?

1.实例成员

实例成员包括实例成员变量和实例成员方法,实例成员变量(对象的字段)和方法(对象的方法)是隶属于对象的,实例变量的值代表了该对象的状态,实例成员方法代表了该对象的行为。只有创建了对象之后才能访问实例成员变量和实例成员方法,通过"对象名.变量名(方法名)"的方式可以访问实例成员,代码如下:public class NameClass {

Stringname="Lily";

intage=12;

public void print(){

System.out.println("姓名:");

System.out.println("年龄:");

}

public static void main(String[] args){

NameClassnc=newNameClass();

nc.print();

System.out.println(nc.age+" "+nc.name);

}

}

在这个程序中name和age就是实例成员变量,而print()方法就是实例成员方法。因为在static main()方法中是通过创建NameClass类的对象nc来访问的。

2.类成员

类成员(静态成员)需要用关键字static标识,类成员包括类成员变量和类成员方法,类成员是隶属于类的,意思是说通过类名可以直接访问类成员变量或调用类成员方法,即使没有创建对象,也能够引用类成员,当然类成员也可以通过对象引用。它既可以通过"对象名.变量名"方式访问,也可以通过"类名.变量名"的方式访问。它们是完全等价的。代码如下:

public class BB {

private static intnum=20;

private static Stringname="vivi";

public void call() {

BB.print();

new BB().print();

System.out.println(BB.name + "," + BB.num);

}

public static void print() {

System.out.println("Hellow China");

}

}

在这个程序中num和name就是类成员变量,而print()方法和call()方法就是类成员方法,因为任何的方法中都可以通过类名.变量名(BB.name)和对象名.方法名(new BB().print())访问。

下面列出成员的相关解释,供大家参考学习,如图2.20所示。成员名称及其说明如表2.1所示。

a169cdf1e1b6487a37823cc14bf651c0.png

图2.20  成员结构图

表2.1  成员名称及其说明

成员名称

成员含义

实例成员

指的是对象的实例变量和实例方法,只能通过对象

引用加以访问或者调用

实例变量

实例变量只有在类的实例化时才分配的字段,即当

创建类对象的时候,系统才分配这个字段,也叫做非静态字段

实例方法

一种隶属于类实例的方法,隶属于相同类的

所有对象分享方法的实现

静态成员

指的是隶属于类的静态方法和静态变量,静态成员可

以通过类名或者对象引用加以访问和调用

静态变量

一种载入类时就需要进行分配的字段,静态变量隶属于类,

但是不属于该类的任何对象,所以成为静态字段或者类变量

静态方法

一种隶属于类但是不属于该类任何对象的方法,叫做类方法,

同样可以通过类名或者对象引用加以访问和调用

参考答案

CD

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值