A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 夜默   /  2013-7-15 19:22  /  24346 人查看  /  241 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重载用于同一类中的方法之间,重写是用于父类与子类之间;重载的方法名相同、参数不同,重写是方法名、参数都相同!

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 赞一个!

查看全部评分

回复 使用道具 举报
重载是改变方法里的参数列表,重写是子类方法的覆盖

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 赞一个!

查看全部评分

回复 使用道具 举报
第六题:重载 overload 指的是在同一个类中,两个函数有相同的函数名,参数列表不同,重写 override 指的时候在父子类中,两个函数 返回值 函数名 参数列表 完全一样,并且子类函数的访问类型不能比父类函数严格。

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 赞一个!

查看全部评分

回复 使用道具 举报
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 赞一个!

查看全部评分

回复 使用道具 举报
重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关。
重写涉及的是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同(或者是其子类)

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
重载要求:函数形参个数,类型,类型顺序 不同,即构成重载 与返回值无关
复写要求:两个函数完全相同:形参个数,类型,顺序,返回值类型

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 赞一个!

查看全部评分

回复 使用道具 举报
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重写是方法名相同,参数必须都是一样的才行,重写针对父类中有了的方法。重载只有方法名是相同的,参数类型、个数等不同。

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 赞一个!

查看全部评分

回复 使用道具 举报
7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别?
回复 使用道具 举报
重载与重写的区别
1、简单说,就是同样的一个方法能够根据输入数据的不同,做出不同的处理,即方法的重载——有不同的参数列表(静态多态性)
2、而当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法,即在子类中重写该方法——相同参数,不同实现(动态多态性)
回复 使用道具 举报
赵海洋 发表于 2013-7-15 20:40
7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别? ...


饿汉式
使用显示初始化方式
在方法中直接返回static实例。
懒汉式
不在使用显示初始化方式了。
而是在方式中使用初始化!
我用的饿汉
public class Single {
        private static Single instance = new Single();
       
        private Single() {}
       
        public static Single getInstance() {
                return instance;
        }
}

评分

参与人数 1技术分 +2 收起 理由
赵海洋 + 2 好快的手!

查看全部评分

回复 使用道具 举报
赵海洋 发表于 2013-7-15 20:00
答题开始,第一题,送分题:面向对象的三个特征?(在线答题,四分钟后更新下一题,请大家抓紧!)答案直接 ...

封装 继承 多态
回复 使用道具 举报
  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. }
复制代码
恶汉式直接获取对象
懒汉式延迟加载,但是如果有多线程的程序访问程序时会出现安全问题,可以通过添加同步代码块或者同步函数都可以解决。但是效率有点低,可以再加一层判断增加代码效率

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 赞一个!

查看全部评分

回复 使用道具 举报
第七题:单例设计模式
/**
需求:实现饿汉式单例设计模式

思路:用 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 的时候才会创建对象,懒汉式单例设计模式在类加载的时候就会创建对象

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 王靖远 于 2013-7-15 20:44 编辑
  1. class Single{
  2.   private Single s = new Single();
复制代码
上门是饿汉式。

懒汉式是延长加载

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 淡定

查看全部评分

回复 使用道具 举报
class EHan//   饿汉式
{
        private EHan s=new EHan();
        private EHan(){}
        public EHan show()
        {
               
                return s;
        }
}

单例设计模式有饿汉式和懒汉式。饿汉式是先创建对象,懒汉式是后加载对象。懒汉式在多线程时会出现安全问题

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 淡定

查看全部评分

回复 使用道具 举报
本帖最后由 张洪慊 于 2013-7-15 20:46 编辑

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

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 淡定

查看全部评分

回复 使用道具 举报
本帖最后由 狼王 于 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. }
复制代码
区别:饿汉式先定义对象
懒汉式:对象的延时加载,而是还有线程安全问题

评分

参与人数 1技术分 +1 收起 理由
赵海洋 + 1 淡定

查看全部评分

回复 使用道具 举报
赵海洋 发表于 2013-7-15 20:35
6,重载和重写的区别?

重载:同一类中 不同方法的 方法名相同
重写:覆盖父类或接口中的方法
回复 使用道具 举报
8、下面代码片段创建()个对象。
       int a = 10;
       String b = "abc";
       String c = new String("abc");
       MyTest test = new MyTest();

回复 使用道具 举报
赵海洋 发表于 2013-7-15 20:40
7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别? ...

7,示例代码:单例设计模式,两种方法一种即可,并说说这两种方法的区别?
饿汉式class Singleton
{  
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance()
{   
  return instance;
  }
}
饿汉式是直接加载,
懒汉式是延时加载。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马