黑马程序员技术交流社区

标题: 代码题在今晚十点半结束,明天统一进行加分! [打印本页]

作者: 夜默    时间: 2013-7-15 19:22
标题: 代码题在今晚十点半结束,明天统一进行加分!
本帖最后由 赵海洋 于 2013-7-16 09:32 编辑

由于22期即将开班,23期报名火热,特此推出22,23期和云舞联合重磅答题活动!!!

技术分计算:

    1.两次发题目之间是答题时间,跟下一次发题时间一样时或之前,答题有效。
没有做代码题的抢答分扣一半,超时的,抢答题总共扣除2/3。
    2.代码题上限五分。
    3.不回复都在哪一层抢答的,抢答分不给,希望谅解。


第一部分:抢答!
      1.一共十三道题,第一个正确回答技术分加2分,其他正确回答加一分,错误回答不给分。
      2.十三道题每隔5分钟版主会更新一道题,一直到十三道题更新完毕,结束抢答,版主会统计谁是超级幸运星
      3.赶快复习知识点吧,注意,都是基础题!!!
第二部分:代码题!
      1. 抢答结束后会有一道代码题,代码题不分先后顺序,回答时间在晚上10:00之前即可。
      2.由于考虑今晚工作量问题,所以给大家一个小时的代码题答题时间。代码题是基础题,请自己作答,勿抄袭、百度类似题等。
注意:
          1,抢答题时间初步定为晚上800~9:00,请互相转告,勿失良机哦~~~
        2,如果做了抢答题而没有做代码题,分数减半,同样两道题都做的,分数在原来基础上加1
        3,代码题初步定为晚上9:05分给题,请大家按时刷新看题。
        4.以上分数都是指技术分。
        5.请大家在做完抢答题后回复自己都是在哪几楼回答的问题,方便版主们统计,谢谢大家。
     6.加分会在活动结束后由版主统计,加分。请大家答题后不要着急,预计工作量会有些大,所以请大家耐心等待加分。
        7.如答题后有未加分情况,请联系版主。

代码题:   请用java语言做一个猜拳小程序。
          1.需要用到的知识点:泛型、继承、封装、多态、伪随机数、IO流等
          2.定义三个人物相对应不同的困难程度。
          3.完全开放式答题,你能做成什么样的,就做成什么样
          4.结果要截图出来,不在一个楼的注明是哪几个楼
      5.技术分到底给多少,就看你的了
      6.回复的时候,记得注明自己的抢答都在哪几个楼!
      7.不做代码题,抢答分会减少的哦!

抢答结果:       恭喜诸隆隆、王婧远、张洪慊、280270738、亲雨泽、阿凡提不买驴、iBadboy、toShareBeauty、李征、狼王  十题全答,鼓励技术分1分.
       草帽路飞答题9题,本次鼓励技术分1分,下次不予以鼓励。
       恭喜诸隆隆获得抢答题技术分12分,十题全答,抢答题部分共得13分技术分!!
       恭喜王婧远获得抢答题技术分11分,十题全答,抢答题部分共得12分技术分!!
       本次幸运星是诸隆隆!!!恭喜咯~~~
       请大家核实自己的得分情况,因为工作量较大,如有加错,请论坛联系版主或qq。【版主qq请在技术分加分细则中查找】




代码题.jpg (15.1 KB, 下载次数: 2)

代码题.jpg

作者: 赵海洋    时间: 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接回复即可!
作者: 诸隆隆    时间: 2013-7-15 20:01
赵海洋 发表于 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接 ...

封装 继承 多态
作者: 张洪慊    时间: 2013-7-15 20:01
本帖最后由 张洪慊 于 2013-7-15 20:02 编辑

封装,多态,继承
作者: 280270738    时间: 2013-7-15 20:01
继承,封装,多态
作者: 王靖远    时间: 2013-7-15 20:01
封装继承多态。
作者: 亲雨泽    时间: 2013-7-15 20:02
封装,继承,多态
作者: 阿凡提不买驴    时间: 2013-7-15 20:02
封装、继承、多态
作者: 赵海洋    时间: 2013-7-15 20:05
第二题:列举五个RuntimeException?
作者: 王靖远    时间: 2013-7-15 20:08
NullPointerException,UnknownTypeException。ClassCastException,SystemException, IllegalArgumentException
作者: 阿凡提不买驴    时间: 2013-7-15 20:09
UnsupportedOperationException不支持的操作

IllegalArgumentException非法参数

IndexOutOfBoundsException索引出界

IllegalStateException非法状态

filenotfoundexception未找到文件
作者: 张洪慊    时间: 2013-7-15 20:10
ArrayIndexOutOfBoundsException,IndexOutOfBoundsException,ClassCastException,ArithmeticException,IllegalStateException
作者: 赵海洋    时间: 2013-7-15 20:10
第三题:示例代码,如何启动一个线程。两种方法一种即可,并简述这两种方法?(只有四分钟答题时间,不要想着复制别人的,请快速写答案,在我出下一题之前给出答案,之后的不给加分。)
作者: 诸隆隆    时间: 2013-7-15 20:10
ClassCastException   ArrayStoreException   SystemException   IndexOutOfBoundsException   NullPointerException 5个有点多啊
作者: 280270738    时间: 2013-7-15 20:12
NullPointerException,ClassCastException ArithmeticException, ArrayStoreException, BufferOverflowException
作者: iBadboy    时间: 2013-7-15 20:12
赵海洋 发表于 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接 ...

封装、继承、多态
作者: 王靖远    时间: 2013-7-15 20:13
A extends Thread{
public void run(){
syso();
}
public void main(String[]args){
A a = new a();
a.start();
}
}
还有一种实现Runnable接口复写run方法。


作者: 亲雨泽    时间: 2013-7-15 20:13
NullPointerException:空指针异常  ,IndexOutOfBoundsException:数组越界异常  ,ClassNotFoundException:不能加载所需的类, IllegalArgumentException:方法接受到非法参数 ,ClassCastException:对象强制类型转换错误
作者: iBadboy    时间: 2013-7-15 20:15
赵海洋 发表于 2013-7-15 20:05
第二题:列举五个RuntimeException?

ClassCastException、ArithmeticException、NullPointerException、StringIndexOutOfBoundsException、NegativeArraySizeException
作者: 赵海洋    时间: 2013-7-15 20:15
4,写出5个你用过的IO流?
作者: 张洪慊    时间: 2013-7-15 20:16
class TestThread{
  public static void main(String[] args){
    new Thread(new Runnable(){
      public void run(){

      System.out.println("This is a Thread");
      }

   }).start();   

}
}
/*
1.继承Thread类 2.实现Runnable接口
实现避免了单继承的局限性
*/
作者: 280270738    时间: 2013-7-15 20:16
一实现Runnable接口  二 继承Thread类 用start方法开启线程
作者: 王靖远    时间: 2013-7-15 20:16
FileWriter, ByteArrayInputStream, PrintWriter ,OutputStream, RandomAccessFile
作者: 张洪慊    时间: 2013-7-15 20:17
FileReader,FileInputStream,InputStreamReader,DataInputStream,BufferedReader
作者: 诸隆隆    时间: 2013-7-15 20:17
FileInputStream BufferedInputStream  FileOutputStream BufferedOutputStream  FileReader
作者: 阿凡提不买驴    时间: 2013-7-15 20:17
赵海洋 发表于 2013-7-15 20:10
第三题:示例代码,如何启动一个线程。两种方法一种即可,并简述这两种方法?(只有四分钟答题时间,不要想 ...
  1. class MyThread extends Thread  
  2. {  
  3.     private String name;  
  4.     public MyThread(String name ){  
  5.        this.name=name;  
  6.     }  
  7.     public void run(){  
  8.         for(int i=0;i<10;i++){  
  9.             System.out.println("线程"+name+i);  
  10.         }  
  11.       
  12.     }  
  13. }
  14. class ThreadDemo{
  15.         public static void main(String args[]){
  16.                 MyThread t1=new MyThread("01");
  17.                 MyThread t2=new MyThread("02");
  18.                 t1.start();
  19.                 t2.start();
  20.         }
  21. }
复制代码
另一种是实现Runnable接口,覆盖其中的run()方法。
作者: 亲雨泽    时间: 2013-7-15 20:20
  1. package Thread;

  2. public class FirstThread extends Thread {
  3.            private int i;
  4.       
  5.            public void run(){          //重写线程的run方法
  6.                   for(;i<100;i++){
  7.                           
  8.                           System.out.println(getName()+"  "+i);
  9.                   }
  10.                   
  11.            }
  12.           public static void main(String[] args){
  13.                      for(int i=0;i<100;i++){
  14.                                System.out.println(Thread.currentThread().getName()+" "+i);
  15.                               
  16.                                if(i==20){
  17.                                        new FirstThread().start();
  18.                                       
  19.                                        new FirstThread().start();
  20.                              }
  21.                      }
  22.                      
  23.        
  24.           }

  25. }
复制代码
第一种是继承Thread方法再调用start()方法启动线程,
还有一种是继承Runnable接口,覆盖run方法
作者: toShareBeauty    时间: 2013-7-15 20:20
本帖最后由 toShareBeauty 于 2013-7-15 20:29 编辑

第一题:封装、继承、多态
第二题:
NullPointerException、IndexOutOfBoundsException、ClassCastException、SystemException、 IllegalArgumentException
第三题:
方法1:
class ThreadCreated
{
        public static void main(String[] args)
        {
                PrintedThread printedThread = new PrintedThread();
                printedThread.start();
        }
}


方法2:
class HelloJava implements Runnable
{
        void run()
        {
                while(true)
                {
                        System.out.println("Hello Java!");
                }
        }
}

class MultiThread
{
        public static void main(String[] args)
        {
                Runnable helloJava = new helloJava();
                Thread threadPrint = new thread(helloJava);
                while(true)
                {
                        System.out.println("Hello World!");
                }
        }
}


启动一个线程主要需要用到 Thread 类,创建一个 Thread 类对象,并调用 start 函数,就可以启动一个线程,线程执行 Thread 类中的 run 方法,如果在创建 Thread 类对象的时候,传递一个 Runnable 接口的实例,线程启动后执行 Runnable 接口实例的 run 方法。
第四题:
FileWriter FileReader BufferedWriter BufferedReader FileInputStream
作者: 阿凡提不买驴    时间: 2013-7-15 20:20
赵海洋 发表于 2013-7-15 20:15
4,写出5个你用过的IO流?

InputStream
OutPutStream
BufferedOutputstream
BufferedInputstream
FileInputStream
作者: 李征    时间: 2013-7-15 20:20
赵海洋 发表于 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接 ...

面向对象的3大特征:封装,继承,多态
作者: 赵海洋    时间: 2013-7-15 20:21
暂停十分钟,下一题20:30给出,前面四道题有来晚的可以继续答题,20:30以前的四道题只要答题就给分!!!!!
作者: 280270738    时间: 2013-7-15 20:21
Reader, Write,InputStreamReader,BufferedReader, OutputStreamWriter
作者: 无憾之    时间: 2013-7-15 20:21
封装、继承、多态
作者: 李征    时间: 2013-7-15 20:21
赵海洋 发表于 2013-7-15 20:05
第二题:列举五个RuntimeException?

第二题:列举五个RuntimeException?
AnnotationTypeMismatchException, ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException
作者: iBadboy    时间: 2013-7-15 20:21
赵海洋 发表于 2013-7-15 20:10
第三题:示例代码,如何启动一个线程。两种方法一种即可,并简述这两种方法?(只有四分钟答题时间,不要想 ...

1、通过实现Runnable接口线程创建,定义一个类实现Runnable接口,创建Runnable接口实现类的对象。创建一个Thread类的对象,调用Thread对象的start()方法,启动线程
2、通过继承Thread类创建线程,首先定义一个类去继承Thread父类,重写父类中的run()方法。直接创建一个ThreadDemo2类的对象,调用start方法
  1. public class ThreadDemo2 extends Thread {
  2.        public void run() {}
  3. public static void main(String[] args) {  
  4.         new ThreadDemo2().start();      
  5.     }  
  6. }  
复制代码

作者: 无憾之    时间: 2013-7-15 20:22
Class MyThread implements Runable{
public
}

作者: 以防万一    时间: 2013-7-15 20:22
1、面向对象的三大特征:封装,继承、多态
1.封装:只隐藏对象的属性和实现细节,仅对外提供公共访问方式
好处:将变化隔离、便于使用、提高复用性、提高安全性
原则:将不需要对外提供的内容隐藏起来;把属性隐藏,提供公共方法对其访问
2.继承:提高代码复用性;继承是多态的前提
注:
①子类中所有的构造函数都会默认访问父类中的空参数的构造函数,默认第一行有super();若无空参数构造函数,子类中需指定;另外,子类构造函数中可自己用this指定自身的其他构造函数。
3.多态
是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象
好处:提高了程序的扩展性
弊端:当父类引用指向子类对象时,虽提高了扩展性,但只能访问父类中具备的方法,不可访问子类中的方法;即访问的局限性。
前提:实现或继承关系;覆写父类方法。

作者: 李征    时间: 2013-7-15 20:23
赵海洋 发表于 2013-7-15 20:15
4,写出5个你用过的IO流?


4,写出5个你用过的IO流?
input output reader writer inputstream outputstream
作者: 草貌路飞    时间: 2013-7-15 20:24
赵海洋 发表于 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接 ...

多态、继承、封装
作者: Jomes    时间: 2013-7-15 20:24
赵海洋 发表于 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接 ...

封装 继承 多态
作者: 亲雨泽    时间: 2013-7-15 20:25
InputStream, BufferedWriter, FileWriter,BufferedReader, FileInputStream
作者: 狼王    时间: 2013-7-15 20:25
面向对象的特征:
    1、封装(encapsulation):封装是面向对象的核心思想,将对象的属性和行为封装起来,而它的载体是类,类通常对客户隐藏细节。
    2、 继承(inheritance):使用已存在的类的定义作为建立新技术的基础,新类的定义可以增加新的数据或功能,也可以使用父类的功能。
    3、多态(polymorphism):动态绑定机制,用来决定会使用被重写的方法名的那个方法的行为

作者: 无憾之    时间: 2013-7-15 20:26
public class Demo4 {
        public static void main(String[] args) {
                MyThread th = new MyThread();
                new Thread(th).start();
                new Thread(th).start();
        }
}
class MyThread implements Runnable{

        @Override
        public void run() {
                System.out.println("iiii");
        }
}

另一种是继承Thread类。
继承是继承对象只能由一个父类。很局限性。
如果是实现接口的话,避免了Java单继承的局限性。
作者: Jomes    时间: 2013-7-15 20:26
赵海洋 发表于 2013-7-15 20:05
第二题:列举五个RuntimeException?

UnsupportedOperationException
IllegalArgumentException
IndexOutOfBoundsException
UnknownTypeException
IllegalStateException
作者: 草貌路飞    时间: 2013-7-15 20:27
赵海洋 发表于 2013-7-15 20:05
第二题:列举五个RuntimeException?

ClassNotFoundException   NullPointerException  IndexOutOfBoundException OutOfMemoryException  ClassCastException
作者: 无憾之    时间: 2013-7-15 20:27
InputStream
OutputStream
FileRead
FileWriter
BufferedRead
BufferedWriter
作者: iBadboy    时间: 2013-7-15 20:28
赵海洋 发表于 2013-7-15 20:15
4,写出5个你用过的IO流?

CharReader、StringReader、BufferedReader、BufferedWriter、PrintWriter
作者: 李征    时间: 2013-7-15 20:28
赵海洋 发表于 2013-7-15 20:10
第三题:示例代码,如何启动一个线程。两种方法一种即可,并简述这两种方法?(只有四分钟答题时间,不要想 ...

class Demo extends Thread
{
public static void main(String[] Args)
{
Demo1 d = new Demo1();
d.start();
}
}
class Demo1 extends Thread
{
public void run()
{
...
}
}
创建一个对象,继承Thread并且复写run()方法,调用start()启动线程。
作者: Jomes    时间: 2013-7-15 20:29
赵海洋 发表于 2013-7-15 20:15
4,写出5个你用过的IO流?

InputStream、OutputStream、InputStreamReader、OutputStreamWriter、ByteArrayInputStream
作者: 赵海洋    时间: 2013-7-15 20:30
5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。
作者: 狼王    时间: 2013-7-15 20:30
第二题:列举五个RuntimeException?
ArithmeticException   ArrayOutOfBoundException   FileNoFoundException    AnnotationTypeMismatchException,  ArrayStoreException

作者: 草貌路飞    时间: 2013-7-15 20:30
赵海洋 发表于 2013-7-15 20:15
4,写出5个你用过的IO流?

4.FileInputStream FileOutputStream  FileReader FileWriter BufferedReader BufferedWriter InputStreamReader OutputStreamWriter BufferedInputStream BufferedOutputStream
作者: 狼王    时间: 2013-7-15 20:30
第二题:列举五个RuntimeException?
ArithmeticException   ArrayOutOfBoundException   FileNoFoundException    AnnotationTypeMismatchException,  ArrayStoreException

作者: 诸隆隆    时间: 2013-7-15 20:30
赵海洋 发表于 2013-7-15 20:10
第三题:示例代码,如何启动一个线程。两种方法一种即可,并简述这两种方法?(只有四分钟答题时间,不要想 ...

public class Test2 {
        public static void main(String[] args) {
        Xian x=new Xian();
        Thread t1=new Thread(x,"a");
        t1.start();
        }
}
class Xian implements Runnable {
        public void run(){}
               
       
}
另一种方法是继承Thread  。
作者: 狼王    时间: 2013-7-15 20:32
4,写出5个你用过的IO流?
FileInputStream  FileOutputStream  FileReader FileWriter inputstream outputstream
作者: 李征    时间: 2013-7-15 20:32
赵海洋 发表于 2013-7-15 20:30
5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。 ...


5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。
final修饰的类不可以被继承。

final修饰的方法不可以被覆盖。

final修饰的变量是一个常量。只能被赋值一次。

内部类只能访问被final修饰的局部变量。
作者: 狼王    时间: 2013-7-15 20:32
4,写出5个你用过的IO流?
FileInputStream  FileOutputStream  FileReader FileWriter inputstream outputstream
作者: 以防万一    时间: 2013-7-15 20:32
final特点:
1、可以修饰类,方法,变量
2、被修饰的类不可被继承
3、被修饰的方法不可被覆盖
4、被修饰的变量:
基本数据类型值不可被改变
引用型变量不能被赋值,但是指向的对象可被改变。
作者: 王靖远    时间: 2013-7-15 20:32


final修饰的类不能被继承
final修饰的方法不能被复写。
final修饰的基本数据类型变量只能赋值一次。
final修饰的引用型变量指向不能改变
作者: 阿凡提不买驴    时间: 2013-7-15 20:33
赵海洋 发表于 2013-7-15 20:30
5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。 ...

final修饰符
被final修饰的类不可以被继承,为了避免被继承,被子类复写功能。被final修饰的方法不可以被复写。被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,有可能修饰局部变量。当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便阅读。而这个值不需要改变,所以加上final修饰。内部类定义在类中的局部位置上是,只能访问该局部被final修饰的局部变量。
作者: toShareBeauty    时间: 2013-7-15 20:33
第五题,final 修饰 类,该类不能被继承, final 修饰方法,该方法不能被 override ,final 修饰基本类型变量,该变量是常量,只能被初始化一次,final 修饰引用类型变量,该变量只能指向对象,不能改为指向别的对象。
作者: 张洪慊    时间: 2013-7-15 20:33
final修饰的类:不可被子类继承
final修饰的方法:不可被子类复写
final修饰的基本数据类型变量:一经初始化,不可修改->常量
final修饰的引用变量:引用变量存放的对象地址值不变->恒指向同一个对象
         
作者: 草貌路飞    时间: 2013-7-15 20:34
赵海洋 发表于 2013-7-15 20:30
5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。 ...

final修饰的类:不能被继承
final修饰的方法:不能被重写
final修饰的变量:普通类型变量是可以使它变成常量,不能被改变。引用类型变量是使它不能被重新指向其它对象,但是原来指向的那个对象内部是可以变化的。
作者: 狼王    时间: 2013-7-15 20:34
5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。
     1、final修饰的类不可以继承
     2、final修饰的方法不可以覆盖
     3、final修饰的变量是一个常量,只能赋值一次,且只固定显示化赋值
     4、注意:类变量只有在final的修饰下,值才会固定,否则可以修改,static只能说明该值被共享,但不规定是固定的。

作者: 诸隆隆    时间: 2013-7-15 20:34
赵海洋 发表于 2013-7-15 20:30
5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。 ...

不能再被更改。必须初始化。方法和类都是实例。 基本数据类型的变量被final修饰后就是常量,而引用类型的,修饰后不能更改引用的指向了。
作者: 280270738    时间: 2013-7-15 20:34
被final修饰的类称为最终类,不能被继承。 被final修饰的方法不能重写。 被final修饰的基本数据类型的变量不能再赋值,被修饰的引用变量的引用不能改变
作者: 赵海洋    时间: 2013-7-15 20:35
6,重载和重写的区别?
作者: iBadboy    时间: 2013-7-15 20:35
赵海洋 发表于 2013-7-15 20:30
5,final修饰的类、方法、变量的特点?提示:变量分为基本数据类型的变量和引用型变量。 ...

final 类,无法被继承final方法,无法被覆盖,final变量,无法被修改
作者: 草貌路飞    时间: 2013-7-15 20:36
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重载是方法名一样,参数类型或者参数个数不一样,重载的方法都可以调用。重写是方法名一样,参数也一样,重写是对父类中的方法的覆盖
作者: 李征    时间: 2013-7-15 20:36
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?


6,重载和重写的区别?
重载:是相同的方法名,不同的参数列表。
重写:是子类继承父类后,在子类中定义父类中已有的方法。
作者: 王靖远    时间: 2013-7-15 20:37
重载:只要方法名相同,参数不同,就是重载
重写:返回类型,方法名,参数都要相同。
作者: 阿凡提不买驴    时间: 2013-7-15 20:37
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重载用于同一类中的方法之间,重写是用于父类与子类之间;重载的方法名相同、参数不同,重写是方法名、参数都相同!
作者: 280270738    时间: 2013-7-15 20:37
重载是改变方法里的参数列表,重写是子类方法的覆盖
作者: toShareBeauty    时间: 2013-7-15 20:37
第六题:重载 overload 指的是在同一个类中,两个函数有相同的函数名,参数列表不同,重写 override 指的时候在父子类中,两个函数 返回值 函数名 参数列表 完全一样,并且子类函数的访问类型不能比父类函数严格。
作者: iBadboy    时间: 2013-7-15 20:38
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同
作者: 亲雨泽    时间: 2013-7-15 20:38
重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关。
重写涉及的是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同(或者是其子类)
作者: 张洪慊    时间: 2013-7-15 20:38
重载要求:函数形参个数,类型,类型顺序 不同,即构成重载 与返回值无关
复写要求:两个函数完全相同:形参个数,类型,顺序,返回值类型
作者: 诸隆隆    时间: 2013-7-15 20:38
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重写是方法名相同,参数必须都是一样的才行,重写针对父类中有了的方法。重载只有方法名是相同的,参数类型、个数等不同。
作者: 赵海洋    时间: 2013-7-15 20:40
7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别?
作者: 狼王    时间: 2013-7-15 20:42
重载与重写的区别
1、简单说,就是同样的一个方法能够根据输入数据的不同,做出不同的处理,即方法的重载——有不同的参数列表(静态多态性)
2、而当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法,即在子类中重写该方法——相同参数,不同实现(动态多态性)

作者: 诸隆隆    时间: 2013-7-15 20:43
赵海洋 发表于 2013-7-15 20:40
7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别? ...


饿汉式
使用显示初始化方式
在方法中直接返回static实例。
懒汉式
不在使用显示初始化方式了。
而是在方式中使用初始化!
我用的饿汉
public class Single {
        private static Single instance = new Single();
       
        private Single() {}
       
        public static Single getInstance() {
                return instance;
        }
}
作者: 星仔子    时间: 2013-7-15 20:43
赵海洋 发表于 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接 ...

封装 继承 多态
作者: 亲雨泽    时间: 2013-7-15 20:43
  1. package Thread;
  2. /*
  3. * 单例设计模式  
  4. */
  5. //饿汉式
  6. /*
  7. * Class Single
  8. * {   
  9. *       private static final Single s = new Single();
  10. *       private Single(){}
  11. *       public static Single getInstanse(){
  12. *                         return s;
  13. *       }
  14. *
  15. * }
  16. * */
  17. public class DanLi {    //懒汉式
  18.          private static DanLi dl =null;
  19.          private DanLi(){};
  20.          public static DanLi getInstanse(){
  21.                    if(dl==null){
  22.                            dl = new DanLi();
  23.                    }
  24.                    return dl;
  25.          }

  26. }
复制代码
恶汉式直接获取对象
懒汉式延迟加载,但是如果有多线程的程序访问程序时会出现安全问题,可以通过添加同步代码块或者同步函数都可以解决。但是效率有点低,可以再加一层判断增加代码效率
作者: toShareBeauty    时间: 2013-7-15 20:43
第七题:单例设计模式
/**
需求:实现饿汉式单例设计模式

思路:用 static 把对象创建封装在类内部

步骤:
1.将构造函数私有化
2.在类中创建一个本类对象
3.提供一个可以方法可以获取到该对象

*/
class Single
{
        private static Single single = new Single();

        private Single()
        {
        }

        public static Single getInstance()
        {
            return single;
        }
}

class SingleDemo
{
        public static void main(String[] args)
        {
                Single single = Single.getInstance();
        }
}

饿汉式 单例设计模式,主要是在第一次调用 getInstance 的时候才会创建对象,懒汉式单例设计模式在类加载的时候就会创建对象
作者: 王靖远    时间: 2013-7-15 20:43
本帖最后由 王靖远 于 2013-7-15 20:44 编辑
  1. class Single{
  2.   private Single s = new Single();
复制代码
上门是饿汉式。

懒汉式是延长加载
作者: 280270738    时间: 2013-7-15 20:44
class EHan//   饿汉式
{
        private EHan s=new EHan();
        private EHan(){}
        public EHan show()
        {
               
                return s;
        }
}

单例设计模式有饿汉式和懒汉式。饿汉式是先创建对象,懒汉式是后加载对象。懒汉式在多线程时会出现安全问题
作者: 张洪慊    时间: 2013-7-15 20:44
本帖最后由 张洪慊 于 2013-7-15 20:46 编辑

/*饿汉式*/
class SingleInstance{
   private SingleInstance(){}
   private static final ref=new SingleInstance();
   public static SingleInstance getInstance(){
     return ref;
    }
}
/*
饿汉式:不存在多线程并发问题,代码简单
懒汉式:对象延迟加载,产生多线程并发问题.
*/

作者: 狼王    时间: 2013-7-15 20:44
本帖最后由 狼王 于 2013-7-15 20:45 编辑
  1. class Singleton{//<span style="color: rgb(63, 127, 95); font-family: 宋体; font-size: 10.5pt; mso-bidi-font-family: Consolas; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">饿汉式:</span>
  2.         private int num;
  3.         public int getNum() {
  4.                 return num;
  5.         }
  6.         public void setNum(int num) {
  7.                 this.num = num;
  8.         }
  9.         private Singleton(){}
  10.         private static Singleton s = new Singleton();
  11.         public static Singleton getInstance(){
  12.                 return s;
  13.         }
  14. }
复制代码
区别:饿汉式先定义对象
懒汉式:对象的延时加载,而是还有线程安全问题
作者: 下雨天    时间: 2013-7-15 20:44
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重载:同一类中 不同方法的 方法名相同
重写:覆盖父类或接口中的方法
作者: 赵海洋    时间: 2013-7-15 20:45
8、下面代码片段创建()个对象。
       int a = 10;
       String b = "abc";
       String c = new String("abc");
       MyTest test = new MyTest();


作者: 李征    时间: 2013-7-15 20:45
赵海洋 发表于 2013-7-15 20:40
7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别? ...

7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别?
饿汉式class Singleton
{  
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance()
{   
  return instance;
  }
}
饿汉式是直接加载,
懒汉式是延时加载。
作者: hx32    时间: 2013-7-15 20:45
7、恶汉式,与懒汉式的不同是Single类一进内存,就已经创建好了对象,懒汉式会出现延时加载进而导致出错
  1. private  Single(){}

  2.         private static Single s = new Single();

  3.         public static  Single getInstance()
  4.         {
  5.                 return s;
  6.         }
复制代码

作者: 星仔子    时间: 2013-7-15 20:45
赵海洋 发表于 2013-7-15 20:05
第二题:列举五个RuntimeException?

ArithmeticException,NullPointerException,StringIndexOutOfBoundsException,NegativeArraySizeException,ClassCastException
作者: 草貌路飞    时间: 2013-7-15 20:45
class SingleDemo
{
    private static SingleDemo sd  = new SingleDemo();
    private SingleDemo()
    {}
    public SingleDemo getInstance()
    {
         return sd;
    }
}
区别:上面是饿汉式,这种方式是一来就创建好对象,这种方式如果一直没有人调用那一开始就创建的对象就会浪费内存。懒汉式是等到第一次调用getInstance()方法才会创建,不过这种方法当多个用户一起调用时是线程不安全的。
作者: 280270738    时间: 2013-7-15 20:46
      五个
作者: 阿凡提不买驴    时间: 2013-7-15 20:46
赵海洋 发表于 2013-7-15 20:40
7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别? ...
  1. class Single
  2. {
  3.         private Single(){}
  4.         private static Single s=new Single();
  5.         public static Single getInstance()
  6.         {
  7.                 return s;
  8.         }
  9. }
  10. class SingleDemo
  11. {
  12.         public static void main(String args[])
  13.         {
  14.                 Single ss=Single.getInstance();
  15.         }
  16. }饿汉式
复制代码
饿汉式和懒汉式的区别:懒汉式对象是方法被调用时才初始化,也叫做对象的延时加载,类进入内存,对象还没有初始化,只有调用了getInstance方法时,才创建对象。饿汉式这个是先初始化对象,类一进入内存,就已经创建好了对象。突然断网了⊙﹏⊙b汗!
作者: 王靖远    时间: 2013-7-15 20:46
3个对象
作者: hx32    时间: 2013-7-15 20:47
赵海洋 发表于 2013-7-15 20:45
8、下面代码片段创建()个对象。
       int a = 10;
       String b = "abc";

个人认为是6个
作者: 草貌路飞    时间: 2013-7-15 20:47
赵海洋 发表于 2013-7-15 20:45
8、下面代码片段创建()个对象。
       int a = 10;
       String b = "abc";

3个对象我觉得
作者: toShareBeauty    时间: 2013-7-15 20:48
本帖最后由 toShareBeauty 于 2013-7-15 20:52 编辑

第八题          2个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2