IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 今日JAVA——练习题十一 -> 正文阅读

[Java知识库]今日JAVA——练习题十一

JAVA每日随手练【封装(包)与继承】

1.单选题一

关于包的说法, 下列错误的是:( )
A.包是一组类的集合
B.包能防止类的名字冲突
C.import 语句能够导入一个指定的包
D.import static 能够导入一些静态方法

正确答案:C

【分析】:
A.包是一组类的集合,一个包可以包含若干个类文件, 还可包含若干个包
B.Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
D.利用import static 可以不通过调用包名,直接使用包里的静态方法。在JDK 1.5之后提供了静态导入功能。如果一个类中的方法全部是使用static声明的静态方法,则在导入时就可以直接使用import static的方式导入。

2.单选题二

如下代码的 结果是什么 ?
A.Base
B.BaseBase
C.编译失败
D.代码运行但没有输出
E.运行时抛出异常

class Base {
  Base() {
  	System.out.print("Base"); 
  }
}
public class Alpha extends Base {
  public static void main( String[] args ) {
    new Alpha();
    //调用父类无参的构造方法
    new Base();
  } 
}

正确答案:B

【分析】:在实例化子类的同时执行子类的构造函数,但执行执行子类构造函数时,会先执行父类的构造函数

3.单选题三

以下程序的输出结果为()
A.BD
B.DB
C.C
D.编译错误

class Base{
  public Base(String s){
    System.out.print("B");
  }
}
public class Derived extends Base{
  public Derived (String s) {
    System.out.print("D");
  }
  public static void main(String[] args){
    new Derived("C");
  }
}

正确答案:D

【分析】:调用子类的构造方法前会隐式的调用父类的无参构造方法,如果父类没有无参构造方法就必须显示的调用父类的有参构造方法。很显然,此题的父类Base没有无参构造方法,也没有调用父类的有参构造方法,所以编译不通过。

4.单选题四

以下程序执行的结果是:()
A.ZYXX
B.ZYXY
C.YXYZ
D.XYZX

class X{
	Y y=new Y();
	public X(){
		System.out.print("X");
	}
}
class Y{
	public Y(){
		System.out.print("Y");
	}
}
public class Z extends X{
	Y y=new Y();
	public Z(){
		System.out.print("Z");
	}
	public static void main(String[] args) {
		new Z();
	}
}

正确答案:C

【分析】:

第一个知识点:继承。子类继承父类,程序执行的过程中先加载用父类,这也是出现重写的原因。所以程序先加载了类X。
第二个知识点:因为java程序在执行时先加载全局变量。在X类中的成员变量是Y b = new Y();在程序加载b 时需要调用类Y的无参构造方法,就输出了Y。
第三个知识点:构造器。程序调用默认调用的是构造器是无参构造器,所以在继承类X时,程序先执行了X的无参构造器输出x(当给这个参构造器有参数时就不会输出x)。当new一个对象时就是调用这个类的构造器。第三个输出和第四个输出和上面类似。

class X{
	Y y=new Y();               // **********************第一个输出
	public X(){
		System.out.print("X"); // **********第二个输出
	}
}
class Y{
	public Y(){
		System.out.print("Y");
	}
}
public class Z extends X{
	Y y=new Y();
	public Z(){
		System.out.print("Z");    //******************************第三个输出
	}
	public static void main(String[] args) {
		new Z();                 // 第四个输出
	}
}

5.单选题五

以下关于java封装的描述中,正确的是:()
A.super关键字是在子类对象内部指代其父类对象的引用
B.super关键字不仅可以指代子类的直接父类,还可以直接指代父类的父类
C.子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D.子类通过super关键字只能调用父类的属性,而不能调用父类的方法

正确答案:A

【分析】:
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 16:41:08  更:2021-10-01 16:42:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:20:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码