`
jiaguwen123
  • 浏览: 411053 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

子类及父类常见题目

    博客分类:
  • view
阅读更多

1、结出如下程序的打印结果
父类:
Java代码

public class Father {
    public Father()
    {
       System.out.println("Father!");
    }
    publicvoid testA()
    {
       System.out.println("Father A");
    }
    publicvoid testB()
    {
       System.out.println("Father B");
    }  
}

子类:
Java代码

public class Children extends Father{
    public Children()
    {
       System.out.println("Childern");
    }
    public void testA()
    {
       System.out.println("Childern A");
    }
    public void testB()
    {
       System.out.println("Childern B");
    }  
    public static void main(String[] arg)
    {
       Father father=new Children();
       father.testA();
       father.testB();
    }
}问打印结果:
解:主要考的是向上转型,这是调用的还是子类的方法,结果如下:
Father!
Childern
Childern A
Childern B
但如果我把测试类改成这样:
Children father=new Children();
打印结果同上。
2、字符串的比较,打印下面的结果:
Java代码 


public class StringCompare {   
    public static void main(String[] arg)
    {
       String a="www";
       String b=a;
       String c=new String("www");

       String d=new String(a);//这个去比较试试
       System.out.print((a==b)+" ");
       System.out.print((a==c)+" ");
       System.out.print((b==c)+" ");
       System.out.print((a.equals(c)));
    }
}解:a,b是同一个对象,所以相等;只有对象相同是,等于的结果才为真。Equals比较的是值,值相等的等于结果为真。
打印如下:
true false false true
3、运行该程序会出现什么样的结果,
Java代码

public class SychorinizedTest {
    public SychorinizedTest()
    {
       System.out.println("SychorinizedTest");
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
       // TODO Auto-generated method stub
       SychorinizedTest test=new SychorinizedTest();
       test.sTest();
    }
    void sTest()
    {
       SychorinizedTest a=this;
       SychorinizedTest b=this;
       synchronized(a)
       {
           try {
              b.wait();
              System.out.println("B is waked up");
           } catch (InterruptedException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
           }
       }
    }
}
1)、编译错误
2)、运行错误
3)、运行异常
4)、打印结果:SychorinizedTest
5)、打印结果:SychorinizedTest,
              B is waked up
答案:
SychorinizedTest
4、下面运行的结果是怎么样的:
父类:
Java代码:
public class Father {
    public Father()
    {
       System.out.println("Father!");
    }
    publicvoid testA()
    {
       System.out.println("Father A");
    }
    publicvoid testB()
    {
       System.out.println("Father B");
    }  
}

子类:
Java代码

public class Children extends Father{
    public Children()
    {
       System.out.println("Childern");
    }
    public void testA()
    {
       System.out.println("Childern A");
    }
    public void testA(String a)
    {
       System.out.println(a);
    }
    public String testA()
    {
       System.out.println("Childern A");
    }
    public String testA(String a)
    {
       System.out.println("Childern A");
    }
    public void testB()
    {
       System.out.println("Childern B");
    }
   
    public static void main(String[] arg)
    {     
       Children c=new Children();
    }
}
1)、编译错误
2)、运行错误
3)、正常运行
5、写出下面程序运行的结果:
Java代码

publicclass StringBufferTest {
   
    publicstaticvoid main(String[] arg)
    {     
       StringBufferTest t=new StringBufferTest();
       t.test();
    }
    void test()
    {
       int x=4;
       StringBuffer sb=new StringBuffer("..sdfgfe");
       sb.delete(3,6);
       System.out.println(sb);
       sb.insert(1, "aa");
       if(sb.length()>6)
       {
           x=sb.length();
       }
       sb.delete(x-3, x-2);
       System.out.println(sb);
    }
}答案:.aa.fe
6、String,StringBuilder,StringBuffer的区别及性能比较、共同特性
〔网上找〕
7、给出下面程序的执行顺序:
Java代码
publicclass Father {  
    //1  
    String a="aaaaaa";  
    public Father()  
    {  
       //2  
       System.out.println("Father");  
    }     
}  
class Child extends Father  
{  
    //3  
    String b="bbbbbbb";  
    public Child()  
    {  
       //4  
       System.out.println("Children");  
    }  
    //5  
    static{  
       String tt="ttttttt";  
    }  


publicclass Father {
    //1
    String a="aaaaaa";
    public Father()
    {
       //2
       System.out.println("Father");
    }  
}
class Child extends Father
{
    //3
    String b="bbbbbbb";
    public Child()
    {
       //4
       System.out.println("Children");
    }
    //5
    static{
       String tt="ttttttt";
    }
}答案:
我用DEBUG得到的如下显示:
Source breakpoint occurred at line 23 of Father.java.
Source breakpoint occurred at line 5 of Father.java.
Source breakpoint occurred at line 9 of Father.java.
Father
Source breakpoint occurred at line 15 of Father.java.
Source breakpoint occurred at line 19 of Father.java.
Children
也即顺序是:
先执行静态初使化,然后去子类的构造函数,发现有继承,然后转向父类,发现父类有变量初使化,于是执行父类变量的初使化,然后执行父类的构造函数,再回到子类的构造函数,发现有全局变量要初使化,初使化子类的全局变量,再执行子类的构造函数
顺序为:5 1 2 3 4
8、现在一个表,有姓名、性别、年龄,字段分别为varchar(20),varchar(20),int,现有表中已经有上百万条记录了,在姓名上建索引,现在有一个文本文件,已经格式化为姓名、性别、年龄,写一个函数,怎么样一次性的将该文件中的数据以最快的速度导入到数据库中。
如有函数
save(Connection c,File f)
{
    //操作
}
实现该函数
解:
8题的解决思路参见下面MYSQL的解决方案:
http://blog.csdn.net/fenglibing/archive/2007/10/11/1820153.aspx

 

分享到:
评论
2 楼 jiaguwen123 2010-10-11  
重载方法的匹配问题
integer   作为int的封装类,其初始值是null,而不是0.所以,这里你输入参数null,jvm就会调用与参数匹配间隙最小的方法!
1 楼 jiaguwen123 2010-09-01  
public   class   Test  
  {
               
             
     
       
        private   void   print(Integer   some)
        {
        System.out.println( "Integer ");
        }
       
        private   void   print(Object   some)
        {
        System.out.println( "Object ");
        }
       
        public   static   void   main(String[]   args)  
        {
               
               
                Test   test   =   new   Test();
                test.print(null);
        }
       
       
}


请说出输出结果.为什么!!!  0

相关推荐

    常见java求职面试题目

    2. 继承:继承允许子类从父类继承属性和方法,提高代码复用,同时子类可以添加新的功能或覆盖父类的方法。Java中的关键字`extends`用于表示继承关系。 3. 封装:封装是隐藏对象的属性和实现细节,仅通过公共接口...

    JAVA工程师常见笔试题

    在这份关于JAVA工程师常见笔试题的文档中,我们可以提炼出以下几个重要的知识点: 1. Java基础知识: - Java中的方法访问权限问题,比如在子类中可以使用哪些父类中的方法,以及方法的重写规则。例如,子类可以...

    java面试常见题目

    重写发生在继承关系中,子类重新定义父类中已经存在的某个方法,子类的方法与父类的方法具有相同的名称、返回类型和参数列表。重写要求子类方法的访问权限不能低于父类方法的访问权限,同时,被重写的方法必须是虚...

    Java常见笔试,面试题目深度剖析

    方法重写是子类继承父类时对父类方法的一种定制。面试中可能会问及方法重写的条件、注意事项,以及`@Override`注解的作用。 ### JSP(JSP) JavaServer Pages是Java Web开发的一部分,面试题可能涵盖JSP的基本语法、...

    c 语言面试题集合了所有c 可能遇到的问题

    这些题目不仅适合准备面试的求职者,也适用于想要深入学习C语言的开发者们。 #### 指针的经典分析 1. **指针的理解与应用:** - **定义与初始化:** 指针是一种存储变量地址的数据类型。通过指针可以间接访问内存...

    2021-2022计算机二级等级考试试题及答案No.19951.docx

    它允许子类从父类那里获得特性,即子类可以访问父类中声明的非私有属性和方法,但不包括构造方法和静态方法。这样,子类可以在保留父类功能的基础上进行扩展和定制,增强了代码的复用性和灵活性。 关于数据库管理,...

    常见C++笔试题目整理(含答案).docx

    常见C++笔试题目整理(含答案) 1. 是不是一个父类写了一个 virtual 函数,如果子类覆盖它的函数不加 virtual ,也能实现多态? 在 C++ 中,如果父类中定义了一个 virtual 函数,并且子类覆盖了该函数,但不加 ...

    Java常见笔试、面试题目深度剖析,方法重写详解、静态代码块与构造方法执行顺序问题

    本文将深度剖析几个常见的Java面试题目,包括方法重写、静态代码块和构造方法的执行顺序。 首先,我们来讨论**方法重写(Override)**。在面向对象编程中,子类可以继承父类的属性和方法,有时需要根据自己的需求对...

    Java面试常见题目收集.pdf

    它可以用于调用父类的成员变量、方法,以及在子类构造函数中调用父类的构造函数。例如,`super.x` 访问父类的变量x,`super.someMethod()` 调用父类的someMethod()方法,`super(param)` 调用父类的构造函数。 3. `...

    c++常见笔试题目和软件测试有关题目

    4. **继承**:子类继承父类的属性和方法,实现代码重用,增强了软件的灵活性和可扩展性。 5. **多态**:多态允许不同对象对同一消息做出不同的响应,主要通过虚函数和纯虚函数实现。 6. **模板**:C++的模板功能...

    java常见面试题目

    Java作为一门广泛使用的编程语言,其面试题目涵盖了各种核心概念和技术。以下是一些常见的Java面试知识点的详细解释: 1. **抽象**:在Java中,抽象是通过抽象类和接口来实现的。抽象类不能被实例化,但可以定义...

    .net面试(收集的很常见的面试题目,笔试题目)

    继承允许子类继承父类的属性和方法,封装确保数据安全并限制对对象内部状态的访问,多态性允许不同的对象响应相同的消息但执行不同的操作。 2. 可以使用foreach遍历的对象需要实现`IEnumerable`接口或声明`...

    java常见面试题目汇总.doc

    Java是一种广泛使用的面向对象的编程语言,其面试题目通常涵盖了语言基础、面向对象特性、内存管理、集合框架、多线程、异常处理、IO流、网络编程等多个方面。以下是一些常见的Java面试知识点: 1. **super()与 ...

    Java常见笔试、面试系列深度剖析第3讲

    继承则允许子类继承父类的属性和方法,减少代码重复,提高代码复用性;多态性使得同一行为可以有不同的表现形式,增强了程序的灵活性。 其次,我们不能忽视Java内存管理,尤其是垃圾收集机制。Java的自动内存管理...

    java 程序员面试常见题目

    - **protected**:受保护权限,可以在同一类、子类及同一个包中的其他类中访问。 - **默认(不写时)**:包权限,只能在同一包中的其他类中访问。 **18. Overload 和 Override 的区别。Overloaded 的方法是否可以...

    JAVA笔试题目及概念解释-资源包(含130页的JAVA笔试题目整合,核心的概念解释27页,以及最新华为JAVA工程师笔试题目)

    继承允许子类继承父类的特性,增强了代码的复用性。多态性使得一个接口可以有多种不同的实现,增强了程序的灵活性。 "华为笔试题.doc"提供了华为公司实际的Java工程师笔试题目,这些题目通常会涵盖语法、数据结构、...

    JAVA常见笔试题目

    - Java 线程通常由代码(Runnable 接口或 Thread 类的子类)、线程的上下文环境(包括 CPU 的时间片等)和共享数据组成。 - 创建线程有两种主要方式:实现 Runnable 接口或继承 Thread 类。继承 Thread 类可以避免...

    Java基础面试题常见题目经典精选大全.docx

    继承允许一个类(子类)继承另一个类(父类)的属性和方法;多态意味着同一种行为可以有不同的表现形式;抽象是通过接口或抽象类来定义行为而不关注具体实现。 2. **Java虚拟机(JVM)**:Java虚拟机是运行Java程序...

    经典.net常见面试题目经典精选汇总大全.docx

    - `override`用于子类重写父类方法,实现多态。 6. B/S系统中变量传递的替代方案:除了Session、Cookie、Application,还可以通过隐藏字段、视图状态、查询字符串、URL路由、服务器变量等方式传递。 7. 遍历并...

    最全Java笔试面试题

    重写(Override)发生在子类和父类之间,子类重写父类的同名方法,保持相同的参数列表,但实现不同。 3. **接口和内部类、抽象类的特性**:接口是Java实现多继承的方式,定义一组方法签名,不包含具体实现。内部类...

Global site tag (gtag.js) - Google Analytics