Java习题总结

文章目录

1. 选择题

1、对于abstract声明的类,下面说法正确的是()

1.抽象类不能实例化,因为有抽象方法未实现
2.可以被继承。派生类可以实现抽象方法
3.子类可以是抽象的,也可以非抽象的 
4.可以被抽象类继承,也可以被非抽象类继承

2.下列哪个是合法的 Java 标识符?()

1.必须由字母、数字、下划线(_)及美元符号($)组成
2.不能以数字开头
3.不能与关键字冲突
4.不能和java类库的类名冲突
5.应该使用有意义的名称

3.以下代码运行结果()

public class Test {
   
    public static Test t1 = new Test();
    {
   
       System.out.println("blockA");
    }
    /*static{}(即static块),会在类被加载的时候执行且仅会被执行一次,
    一般用来初始化静态变量和调用静态方法。*/
    static{
   
     System.out.println("blockB");
    }
   public static void main(String[] args) {
   
        Test t2 = new Test();
    }
}
/*
运行结果:
blockA
blockB
blockA
*/
内部类:将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。
1.成员内部类可以直接访问外部类的成员变量和成员方法
2.外部类不可以直接访问内部类的成员变量和成员方法
3.外部类想要访问内部的成员: 得创建内部类对象来访问内部类成员

static{}语句块的执行次序:
(1)当一个类中有多个static{}的时候,按照static{}的定义顺序,从前往后执行;
(2)先执行完static{}语句块的内容,才会执行调用语句;

public class TestStatic
{
   
    static{
   
        System.out.println(1);
    }
    static{
   
        System.out.println(2);
    }
    static{
   
        System.out.println(3);
    }
    public static void main(String args[]){
   
        System.out.println(5);
    }
    static{
   
        System.out.println(4);
    }
}
//输出结果,1,2,3,4,5

4.可以放入到横线位置,使程序正确编译运行,而且不产生错误的选项是()

class A{
   
    public A foo() {
   
        return this;
    }
}
class B extends A {
   
    public A foo(){
    //方法重写(实例方法)
        return this;
    }
}
class C extends B {
   
    _______
}
//结果:public A foo(B b){return b;}

5.在Java中,什么是Garbage Collection?()

1.当对象的所有引用都消失后,对象使用的内存将自动回收
2.垃圾回收机制(英文简写GC):当需要分配的内存空间不再使用的时候,
  JVM将调用垃圾回收机制来回收内存空间。

6.以下代码运行输出的是()

public class Person{
   
    private String name = "Person";
    int age=0;
}
public class Child extends Person{
   
    public String grade;
    public static void main(String[] args){
   
        Person p = new Child();
        System.out.println(p.name);
    }
}
//编译出错

上转型对象:

1.同个类的不同对象引用变量之间可以相互赋值;
2.子类的对象引用变量可以直接赋值给父类的对象引用变量;
3.父类的对象引用变量不一定可以赋值给子类的对象引用变量,如要转换必须确保转换
  的对象是子类的一个实例,如果父类的对象不是子类的一个实例,则转换时会出错;
4.没有继承关系的不同类的对象引用变量之间不能相互转换。

假设,A类是B类的父类,当用子类创建一个对象,并把这个对象的引用放到父类的对象中时,称对象a是对象b的上转型对象。比如:
A a = new B();A a;
B b=new B();
a=b;

//上转型对象应用示例:
例 : A x=new B(); // 设B为A的子类,设B对A中的变
量i进行了隐藏,BA中的方法getX()进行了覆盖
System.out.println(x.i); 
//此时x的数据类型为A,打印A中定义的变量x的i
值;
System.out.println(x.getX()); 
//此时x引用的对象为B,调用B中定义的方法
getX()

7.java程序内存泄露的最直接表现是()

程序抛内存溢出的Exception// java是自动管理内存的,通常情况下程序运行到稳定状态,
//内存大小也达到一个基本稳定的值 但是内存泄露导致Gc不能回收泄露的垃圾,
//内存不断变大. 最终超出内存界限,抛出OutOfMemoryExpection

8.常用的servlet包的名称是?

1.javax.servlet
2.javax.servlet.http
//新知识:
(1)ServletServer Applet)是Java Servlet的简称,称为小服务程序或服务连接器,
用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于
交互式地浏览和生成数据,生成动态Web内容。

9.

10.

2. 编程题

1.类型转换

设计一个方法,将一个小于2147483647double类型变量以截断取整方式转化为int类型
示例:
输入:12.34
输出:12

情况1:每次运行只有一个输入

import java.util.Scanner;
//设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型
/*输入:12.34
输出:12*/
public class TypeConvert {
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值