面试题69(关于类的成员变量调用的问题)

面试题69

2018年1月22日

本期题目

(单选题)下列选项中哪一个是正确的?

public class Test{
    private float f=1.0;
    int m=12;
    static int n=1;
    public static void main(String args[]){
        Test t=new Test();
    }
}
  • A t.f
  • B this.n
  • C Test.m
  • D Test.n

考点:考察求职者对类的成员变量调用的问题

出现频率:★★★★★

【面试题分析】

答案:D

A:编译不成功,因为float浮点类型默认是double类型 所以float f=1.0f;(必须加上f 强调定义的是float)此处是精度由高(double)向低(float)转型所以会报错 但是若是float f=1;这里是默认类型是Int 类型 精度由低(int)向高转型(float)不丢失精度不会报错。

B:this的使用时针对在方法内部使局部变量等值于实例变量而使用的一个关键字,此处的n是静态变量而非实例变量 所以this的调用会出错(试想一下,static本来是全类中可以使用的,是全局的,你非得this去调用,这不是区分局部变量和实例变量的分水线吗?但是此处是全局的,不需要区分)

C:m是实例变量,什么是实例变量:就是需要new 一个对象出来才能使用的,这里直接用类名就调用了,jvm怎么知道m是谁?

D:类变量可以通过类直接调用

所以参考答案是 (D)


原文发布于微信公众号 - java学习(javaxxf)

原文发表时间:2018-03-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

最常见的 35 个 Python 面试题及答案(2018 版)

作为一个 Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python ...

7313
来自专栏java 成神之路

JAVA对象在JVM中内存分配

35012
来自专栏Fish

两天了解scala

最前面的话 因为spark的源语言是scala,所以,为了看懂spark的操作并且为了以后看spark源码做准备,先看scala还是很有必要的。另外这里主要是看...

2039
来自专栏程序员互动联盟

【答疑解惑第二十六讲】js作用域

疑惑一 $("#test").children().remove()和$($("#test").children()).remove()的具体区别? 前者的重点...

3057
来自专栏C/C++基础

CC++变参函数

C语言中,有时需要变参函数来完成特殊的功能,比如C标准库函数printf()和scanf()。C中提供了省略符“…”能够帮主programmer完成变参函数的书...

841
来自专栏极客慕白的成长之路

Python字符串格式化

格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Python用一个tuple将多个...

1292
来自专栏Java3y

泛型就这么简单

1634
来自专栏抠抠空间

细数Python中的数据类型以及他们的方法

一、数据类型的种类及主要功能 1、数字类型   数字类型主要是用来计算,它分为整数类型int和浮点类型float 2、布尔类型   布尔类型主要是用于判断,它分...

3365
来自专栏张善友的专栏

C# 内部类

        C#中的内部类能够使用外部类定义的类型和静态方法,但是不能直接使用外部类的实例方法,直接看来,外部类对于内部类的作用更像是一个命名空间,在C#中...

2318
来自专栏蜕变

Python 数据类型

Python主要数据类型包括list(列表)、tuple(元组)、dict(字典)和set(集合)等对象,下面逐一介绍这些Python数据类型。

840

扫码关注云+社区

领取腾讯云代金券