当前位置: 首页 > news >正文

Java类和对象练习题

练习一

下面代码的运行结果是()

public static void main(String[] args){String s;System.out.println("s="+s);}

 

解析:本题中的代码不能编译通过,因为在Java当中局部变量必须先初始化,后使用。所以此处编译不能通过!

练习二

阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有() 

ackage NowCoder;
class Test {public static void hello() {System.out.println("hello");}
}
public class MyApplication {public static void main(String[] args) {// TODO Auto-generated method stubTest test=null;test.hello();}
}

 

解析:

hello方法是一个静态方法,调用静态方法不需要创建实例对象。

此时的 Test test=null; 表示test这个引用不指向任何对象。所以此处可以正常访问。

但是我们需要牢记,静态方法的正确访问方式应该是用过类型来访问。即:Test.hello();

 练习三

关于包的说法, 下列错误的是:( )

 

 

练习四

下面哪一项不是 java 类访问控制关键字 

 

解析:Java中的访问修饰符有3个:private,public,protected,但是当定义一个成员变量的时候,没有写这3个任意一个访问修饰符的时候,此时的权限是默认权限。

练习五

在JAVA中,假设A有构造方法A(int a),则在类A的其他构造方法中调用该构造方法和语句格式应该为()

 

解析:

this共有2种使用方式:

this.data 访问当前对象的实例成员变量

this.func() 访问当前对象的实例成员方法

this(参数列表) 访问当前对象的构造方法

此处在当前类当中,调用构造方法A(int a),使用this(x);的方式,所以选择B。

A:不能通过点号访问构造方法

C:super(x),是初始化父类继承过来的那部分成员

D:缺少this

练习六

以下哪项说法是正确的?

 

解析:public只是一个访问修饰限定符,可以修饰类名,接口,方法,成员变量等。所以ABC错,D正确。

练习七

以下代码在编译和运行过程中会出现什么情况

public class TestDemo{private int count;public static void main(String[] args) {TestDemo test=new TestDemo(88);System.out.println(test.count);}TestDemo(int a) {count=a;}}

 

解析:

练习八

cnt的值是( ) 

 

public class Test{static int cnt = 6;static{cnt += 9;}public static void main(String[] args){System.out.println("cnt = " + cnt);}static{cnt /=3;};
}

解析:

练习九

程序输出结果为:

class Test{	public String toString() {System.out.print("aaa");return "bbb";}
}public static void main(String[] args) {Test test = new Test();System.out.println(test);
}

 

解析:

 练习十

关于以下程序代码的说明正确的是()

public class HasStatic {// 1private static int x = 100;// 2public static void main(String args[]) {// 3HasStatic hsl = new HasStatic();// 4hsl.x++;// 5HasStatic hs2 = new HasStatic();// 6hs2.x++;// 7hsl = new HasStatic();// 8hsl.x++;// 9HasStatic.x--;// 10System.out.println(" x=" + x);// 11}
}

解析:

练习十一

当你编译和运行下面的代码时,会出现下面选项中的哪种情况? 

 

public class Pvf{static boolean Paddy;public static void main(String args[]){System.out.println(Paddy);}
}

 

解析:在Java当中,成员变量没有赋初值的时候,会有默认的初始值。基本类型是对应的0值。如:int是0,boolean是false,char类型是'\u0000',引用类型是null,如String。

练习十二

如下哪些在main函数中使用是正确的()

public class Test{private float f=1.0f;int m=12;static int n=1;public static void main(String args[]){Test t=new Test();}}

 

解析:

A:f是float类型,3.0默认是double,所以此时不能赋值

B:n是静态的,需要通过类名访问,不能通过this访问,this代表当前对象的引用,但是静态的成员变量不属于this。

C:m是实例成员变量,需要通过对象来进行调用。

D:正确

故:答案选D

练习十三

如下代码的输出结果是什么?

public class Test { public int aMethod(){static int i = 0;i++; return i;} 
public static void main(String args[]){Test test = new Test(); test.aMethod(); int j = test.aMethod();System.out.println(j);} 
}

 

解析:

在方法当中定义的变量是局部变量,而静态的变量属于类变量。随着类的加载而被创建,而局部变量是调用该方法的时候,才创建的。

所以,此时两种变量的性质是冲突的。Java当中不允许定义局部的静态变量。

 

http://www.lryc.cn/news/329946.html

相关文章:

  • Qt 实现简易的视频播放器,功能选择视频,播放,暂停,前进,后退,进度条拖拉,视频时长显示
  • vue基础教程(6)——构建项目级登录页
  • C++宝强越狱1.0.6版本
  • 构建高可用性数据库架构:深入探索Oracle Active Data Guard(ADG)
  • 记录-rosbag的处理
  • 用Wireshark解码H.264
  • Flink中几个关键问题总结
  • 华为配置ARP安全综合功能实验
  • new mars3d.layer.XyzLayer({的rectangle瓦片数据的矩形区域范围说明
  • 数据分析之Tebleau可视化:折线图、饼图、环形图
  • 【Frida】【Android】 07_爬虫之网络通信库HttpURLConnection
  • 算法2.6基数排序
  • redis -List
  • ARMv8-A架构下的外部debug模型(external debug)简介
  • DevOps入门
  • Docker搭建私有镜像仓库
  • 流行的API架构学习
  • 问题解决:Fatal Python error: initfsencoding: unable to load the file system codec
  • WPF —— TreeView树形控件
  • 2024.2.20力扣每日一题——从前序和中序遍历序列构建二叉树
  • c++ 小游戏(2种)
  • 电阻详解:定义、公式、影响因素及电阻器类型解析
  • LabVIEW动车组谐波分析与检测系统
  • H5移动端 Vue3 + vue-virtual-scroller 实现长列表性能优化
  • 第20章-IP路由原理
  • SBCFormer:能够在单板计算机上以每秒1帧的速度进行全尺寸ImageNet分类的轻量级网络
  • 【opencv】教程代码 —features2D(8)AKAZE 特征点匹配和图像拼接
  • ssm基于springboot的数字家庭亲子视频分享网站java+vue
  • 产品经理功法修炼(1)之自我管理
  • 2024年04月IDE流行度最新排名