类相关习题

  1. 判断以下值对比是否相等,并说出原因

    int a , b = 100;
    System.out.println( a == b )
    
    Integer c = 100;
    Integer d = 100;
    System.out.println(c == d )
        
    boolean isReboot1 = true;
    Boolean isReboot2 = new Boolean("1");
    System.out.println( isReboot1 ==  isReboot2 );
    
    boolean isReboot1 = true;
    Boolean isReboot2 = new Boolean(true);
    System.out.println( isReboot1 ==  isReboot2 );
    
    

    相等

  2. 写出 Object 的常用方法的作用

    方法名 作用
    getClass 返回此object运行时的类,不可重写
    hashCode 返回对象的哈希吗
    equals 判断其他对象与此对象是否相等
    clone 创建并返回此对象的一个副本
    toString 返回对象的字符串表示
    notify 唤醒在此对象监视器上等待的单个线程
    notifyAll 唤醒在此对象监视器上等待的所有个线程
    wait 使当前对象的线程等待 timeout 时长
    finalize 垃圾回收使调用该方法
  1. 写出以下代码的执行顺序

    public class Demo {
    
     static {
         count = 20;
     }
     
     {
         size = 20;
         count = 30;
     }
     
     public int size = 10;
     public static int count = 10;
     
     public Demo() {
         System.out.println("我是构造器");
         System.out.println( "size = "+ size );
         System.out.println( "count = "+ count );
     }
     
     public static void main(String[] args) {
         new Demo();
     }
    }
    

    我是构造器

    size = 10

    count = 30

  2. 方法重载有什么作用 ?判断重载的依据是什么 ?

    作用:

    1 参数个数不同
    2 对应位置上的参数类型不同

    依据:

    1.必须在同一个类里。

    2.方法名相同

    3.参数列表不同。

    4.与方法返回值和方法修饰符没有任何关系

    5.在使用this调用自身其他构造方法时,只能作为第一条语句。

  3. System.out.println()与System.out.print()区别

    前者输出不换行,比如:

    System.out.print("a");

    System.out.print("b");

    结果:

    ab

    后者输出后换行,比如:

    System.out.println("a");

    System.out.println("b");

    结果:

    a

    b

    print后加了ln。 ln的意思就是打印完内容后自动回车因此有了上面:输出后换行的效果

  4. 一个源文件里面可以写多少个类 ? 哪个类可以使用 public 关键字修饰 ?

    许多个类 main方法

  5. 一个源文件里面写多个类,编译出来的 class 文件是怎么命名的 ?

    public class StaticTest {
     public static void main(String[] args) {
         Cat cat = null;
         for (int i = 0; i < 5; i++) {
             cat = new Cat();
             new Dog();
         }
         System.out.println(cat.counter);
         System.out.println(Dog.counter);
     }
    }
    
    class Cat {
        public int counter = 0;
        public Cat() {
            counter++;
        }
    }
    
    class Dog {
     public static int counter = 0;
     public Dog() {
         counter++;
     }
    }
    
  6. 基础类型和包装类型的区别是什么?

    1、包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址,基本类型不是
    2、包装类型是引用的传递,基本类型是值的传递
    3、声明方式不同,基本数据类型不需要new关键字,而包装类型需要new在堆内存中进行new来分配内存空间
    4、存储位置不同,基本数据类型直接将值保存在值栈中,而包装类型是把对象放在堆中,然后通过对象的引用来调用他们
    5、初始值不同,eg: int的初始值为 0 、 boolean的初始值为false 而包装类型的初始值为null
    6、使用方式不同,基本数据类型直接赋值使用就好 ,而包装类型是在集合如 coolection Map时会使用

  7. this关键字的作用是什么?

    this的作用是在类中通过this访问自身的属性和方法。

  8. String是基础类型么?

    String不是基本的数据类型,是final修饰的java类,java中的基本类型一共有8个,它们分别为:

    1 字符类型:byte,char

    2 基本整型:short,int,long

    3 浮点型:float,double

    4 布尔类型:boolean

  9. 内部类有什么?有什么作用 ?

    内部类是定义在另一个类中的类。

    1.内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据;

    2.内部类可以对同一个包中的其他类隐藏以来;

    3.当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。

  10. 怎么创建并调用一个内部类对象?

    package bao;

    public class cs {
    private int num=10;
    public void num1() {
    }
    //要想创建内部类的对象 不能在方法里创建内部类
    class css{
    int num=10;
    public void num1(){
    System.out.println("这个数是多少呢"+num);
    }
    }
    }

    格式为:外部类.内部类. 属性=new 外部类().new 内部类();
    package bao;
    
    public class ff {
        public static void main(String[] args) {
            cs.css a=new cs().new css();
            a.num1();
        }
    }
    
  11. 定义雇员类,包含雇员的编号、姓名、年龄、职位、部门等信息。

    编号:empid
    姓名:ename
    年龄:age
    职位:类:Position
    部门:类:Dept
    

    职位和部门是2个不同的类,每个类都包含各自的信息。

    职位:编号、职位名称

    编号:pid
    职位:pname
    

    部门:编号、部门名称、上级部门、部门所在地

    编号:dno
    部门名称:dname
    上级部门:Dept
    部门所在地:loc
    
  12. 以下哪个约束符可用于定义成员常量 B

    A.static

    B.final

    C.abstract

    D.const

  1. 看下面代码给出答案

    class Test{
      private int m;
      public static void fun() {
        // some code...
      }
    }
    

    如何使成员变量m 被函数fun()直接访问?该网页已被阻止! C

    A.将private int m 改为protected int m

    B.将private int m 改为 public int m

    C.将private int m 改为 static int m

    D.将private int m 改为 int m

  1. 以下代码的执行结果是 C

    public class Example {  static int i = 1, j = 2;    static {        display(i);     i = i + j;  }   static void display(int n) {        System.out.println(n);  }   public static void main(String[] args) {        display(i); }}
    

    A.1 2

    B.0 1

    C.1 3

    D.1 1

你可能感兴趣的:(类相关习题)