请问 java 继承的作用和意义是什么? 如果不用继承实现这个程序的话是否可以呢?

问题描述

请问 java 继承的作用和意义是什么? 如果不用继承实现这个程序的话是否可以呢?

请问 java 继承的作用和意义是什么? 如果不用继承实现这个程序的话是否可以呢?

解决方案

 继承的用处在于,你可以在派生类中通过重写某些方法,实现对现有代码的自定义。

如果没有继承,你想利用现有的代码,你只有两个办法:
- 直接在原有的代码上修改,那么你不知道你的修改会不会对使用这个类的别的代码造成什么影响
- 把原有代码拷贝一份,并且修改,这样原来的代码的作者想修正一个bug,你的代码没办法被更新,还保留着这个bug

有了继承,你通过派生和改写,避免了代码的复制,同时可以对任何不满意的地方做自定义。

继承还有一个作用,允许被调用者一方写出代码,同时允许调用者“填空”,实现对流程的复用。
比如,我们编写如下的代码(伪代码):
abstract class BaseClass
{
    public void Run();
}

void 计时器(BaseClass bc)
{
    Time t1 = Now();
        bc.Run();
        Time t2 = Now();
        print(t2 - t1);
}
这里的bc.Run就是一个填空题。
你可以很方便使用它,比如:
class MyClass : BaseClass
{
    public void Run()
        {
            计算圆周率();
        }
}

计时器(new MyClass());
这样就可以对计算圆周率计时了。
如果我们想对下载文件计时,也可以用这个代码。流程是可以重用的

解决方案二:

首先回答你的那句话,不用继承肯定是不可能的,在现在所有的开发中是离不开继承和实现的。继承的根本意义在于降低代码的耦合度,一个健壮的应用绝对有着许许多多的爸爸和接口。

解决方案三:

继承就是为了节省代码量,继承很方便的把一个基础类给丰富了。

解决方案四:

是可以的,只是你要多写一些代码,如果你用继承的话,可以少写很多的代码。

解决方案五:

继承的意义在于降低代码的耦合性,实现代码的复用。不用继承的话也是可以实现的,但是后期修改代码时会很难修改

解决方案六:

纯粹为了实现,那没所谓。但是为了代码的优雅,继承是必不可少的

解决方案七:

继承最根本的原因是实现代码的复用,然后才有因此而衍生出各种架构,抽象多态之类的解释。不使用面向对象的思想就可以了,直接用面向过程的思想去实现,也能实现所有的代码,只是代码重用率不高,也不好看,代码组织架构也不好对于Java来说。

时间: 2024-09-23 07:40:08

请问 java 继承的作用和意义是什么? 如果不用继承实现这个程序的话是否可以呢?的相关文章

[java] static的作用和意义

static 静态修饰符 在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的.static修饰符表示静态的,在类加载时Jvm会把它放到方法区,被本类以及本类的所有实例所共用.在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间.如果一个被所有实例共用的方法被申明为static,那么就可以节省空间,不用每个实例初始化的时候都被分配到内存. Java类被加载过程 类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:  ①加载(以二进制形式来生成Class对象)  ②链

请问 java 接口有什么好处?如果只是说在函数调用时,入参更方便的话,为什么不考虑用泛型?

问题描述 请问 java 接口有什么好处?如果只是说在函数调用时,入参更方便的话,为什么不考虑用泛型? 请问 java 接口有什么好处?如果只是说在函数调用时,入参更方便的话,为什么不考虑用泛型? 解决方案 记住一点,继承表示 是什么,接口表示 能做什么,就好像一个点击动作的接口,它跟被点击对象没有任何关系,所以只是实现做什么 解决方案二: 接口入参方便??我真没感觉出来. 接口具体作用对不同人来说都不同的. 如果你是一个码农: 可能好处就是说更换实现类更容易了吧. 例如你现在项目用的是mysq

java静态嵌套作用是什么?

问题描述 java静态嵌套作用是什么?存在的意义是什么?为什么要实例化?Outer.Inneroi=newOuter.Inner(); 解决方案 解决方案二:好像是可以获得外部的一个链,可以对外部类数据对象进行访问和调用.大概,解决方案三:静态内部类,"内部"表示它的关系,"静态"表示它不用靠外部类能独立使用.个人理解.解决方案四:内部类说明跟内部类存在密切的联系解决方案五:就是专属一个类的类,这个类对象是基于外面类的,可以直接访问外面类.解决方案六:内部类有两中一

Java中static作用详解_java

static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是

java 接口的作用和好处

1.java 接口的作用     http://blog.csdn.net/hack_bug/article/details/7634737   2.一位Java大牛的回答        很多JAVA初级程序员对于接口存在的意义很疑惑.不知道接口到底是有什么作用,为什么要定义接口.       好像定义接口是提前做了个多余的工作.下面我给大家总结了4点关于JAVA中接口存在的意义: 1.重要性:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正

请问Java Swing编程里怎样将一个Image里的数据复制到另一个Image里?

问题描述 请问Java Swing编程里怎样将一个Image里的数据复制到另一个Image里? 请问如何将一个Image里的所有数据复制到另一个Image(比如Image2)里?让Image里的数据与Image2里的数据相同,对Image的数据进行操作时,对Image2无影响 解决方案 http://www.iteye.com/problems/80309

hadoop-基于Hadoop的文本分类系统的研究和实现。那么Hadoop平台起到什么作用?意义是什么?

问题描述 基于Hadoop的文本分类系统的研究和实现.那么Hadoop平台起到什么作用?意义是什么? "基于Hadoop的文本分类系统的研究和实现"是我的课题,我对Hadoop本身不是很了解,想知道Hadoop是什么,文本分类又是要完成什么工作,然后Hadoop平台在文本分类中有何用处,不基于Hadoop平台的文本分类跟他有什么不同.能用通俗的话解释一下吗,谢谢! 解决方案 Hadoop本身是分布式的存储/计算框架.当然它在大学和科研机构中一般扮演提高bigger的作用. 解决方案二:

请问java图形界面编程中怎样改变消息提示框中确定按钮的文本内容啊?

问题描述 请问java图形界面编程中怎样改变消息提示框中确定按钮的文本内容啊? 问题补充:恩恩,swing的!请问怎么改啊?xiaolv 写道 解决方案 JOptionPane.setDefaultLocale(Locale.CHINA);JOptionPane.showMessageDialog(null, "11", "22",JOptionPane.INFORMATION_MESSAGE);这个按钮自动集成多语言.只能通来Locale来改.想要OK就用Loca

java向上造型有何意义?

问题描述 java向上造型有何意义? 一直搞不懂向上造型到底好在哪?Father p=new Son();我用p还是只能点出Father中的方法,有什么意义啊?那我不如直接用Father p=new Father();不是一样吗?或者Son p=new Son();还能调用更多的方法 解决方案 这里需要扫盲下,OO设计中的一个基本准则:里氏代换原则 里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的