Java继承基础版

继承是软件开发中实现代码复用的有效手段,如果一个类A继承了类B那么类B中的public、protected及默认修饰符修饰的实例成员或静态成员将被类A继承,也可以说类B的成员就是类A的成员而类A在此基础上还可以扩展新的成员。

如果两个类(类A和类B)存在相同的成员则可以抽象出它们的父类(将两个类的相同成员放在父类)类C,从而实现代码的复用。

语法:

1 //类c2 public abstract Animal{
3    public static String Color;//静态成员
4    public String Name;//实例成员
5    public void Eat(string fool)//实现吃的方法
6    {
7       System.Out.Println("我在吃"+fool);
8     }
9 }10 //类A
11 public Cat extends Animal{
12      //类A继承类C
13 }
14 //类B
15 public Dog extends Animal{
16      //类B继承类C
17 }

  从上面的例子中类A和类B都继承了类C所以这两个类中都有Color和Name以及吃的方法。但是狗会咬人所以我们可以再类B中定义一个的方法

 1 public Dog extends Animal{
  2      //类A继承类C
  3      public void EatPerson(){
  4                    System.Out.Println("我会咬人")
  5            }
  6 }

  如果有一个动物它不吃别的东西它只吃鱼那我们可以覆盖父类的Eat()方法

1 public Cate extends Animal{
  2  public void Eat(String fool)
  3 {
  4      if(fool.Equals("鱼")){
  5    System.Out.Println("我在吃鱼");
  6    }else{
  7    System.Out.Println("我只吃鱼!赶快拿走");
  8
  9    }
 10 }
 11 }

  

使用继承的注意点:

继承时继承的级层最好不要超过三层因为继承的层级如果超过三层则会使程序变的复杂,不易于维护

在使用继承是不要滥用。不可以属性值来扩展子类。

继承的缺点:打破封装,是父类的内部实现完全暴露给子类。

时间: 2024-11-02 11:34:50

Java继承基础版的相关文章

家庭记账本小程序之改(java web基础版五)

实现修改消费账单 1.main_left.jsp中该部分,调用Servlet中的list方法 2.Servlet中的list方法,调用Dao层的list方法,跳转到list.jsp页面 3.Dao层的list方法 4.list.jsp,提交到Servlet的getcoursebyid方法 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-

家庭记账本小程序之删(java web基础版四)

实现删除消费账单 1.main_left.jsp中该部分,调用Servlet中delete方法 2.Servlet中delete方法,调用Dao层list方法,跳转到del.jsp页面 3.Dao层list方法 4.del.jsp,调用Servlet中的del方法 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

java学习笔记(珍藏版+基础版)

搭建Java开发环境使用开发工具开发Myeclipse基础核心:JAVASEEEME面向对象 API JVM.JAVAEE是指java enterprise edition,java企业版,多用于企业级开发,包括web开发等等很多组建JAVASE是指java standard edition,Java标准版,就是一般Java程序的开发就可以,可以看作是JAVAEE的子集 JVM(java virtual machine)源代码myprogram.Java--(编译器)二进制字节码myprogra

[转]Java多线程干货系列—(一)Java多线程基础

Java多线程干货系列—(一)Java多线程基础 字数7618 阅读1875 评论21 喜欢86 前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧. 正文 线程与进程 1 线程:进程中负责程序执行的执行单元线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用分配给程序的资源和环境 2 进程:执行中的程序一个进程至少包含一个线程 3 单线程:程序中只存在一个线程,实际上主方法就是一个主线程 4

Java 并发基础

Java 并发基础 线程简述 线程是进程的执行部分,用来完成一定的任务; 线程拥有自己的堆栈,程序计数器和自己的局部变量,但不拥有系统资源, 他与其他线程共享父进程的共享资源及部分运行时环境,因此编程时需要小心,确保线程不会妨碍同一进程中的其他线程; 多线程优势 进程之间不能共享内存,但线程之间共享内存/文件描述符/进程状态非常容易. 系统创建进程时需要为该其分配很多系统资源(如进程控制块),但创建线程的开销要小得多,因此线程实现多任务并发比进程效率高. Java语言内置多线程支持,而不是单纯采

Java Web基础 --- Jsp 综述(上)

摘要: J2EE是一套规范,而Servlet/Jsp是J2EE规范的一部分,是Tomcat的主要实现部分.在最初的应用实践中,当用户向指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面,这导致Servlet开发效率极为低下.JSP技术通过实现普通静态HTML和动态部分混合编码,使得逻辑内容与外观相分离,大大简化了表示层的实现,提高了开发效率.本文以JSP的本质是Servlet为主线,结合JSP转译后所得的Servlet,详细探讨了JSP的原理.执行过程.脚本元素.编译指令

Java Web基础 --- Servlet 综述(实践篇)

摘要: 伴随 J2EE 6一起发布的Servlet 3.0规范是Servlet规范历史上最重要的变革之一,它的许多新的特性都极大的简化了 Java Web 应用的开发.本文从一个简单的 Servlet 例子开始,说明了如何开发.配置一个 Servlet.此外,还重点叙述了Servlet的一些新特性,包括Servlet 异步处理.Servlet 非阻塞IO 以及 Servlet 文件上传等内容,以便我们对Servlet有一个更全面的了解. 本篇主要介绍 Servlet 实践方面的知识,更多关注于S

仿360在Launcher画面显示内存使用率的浮窗(基础版)

MainActivity如下: package cc.cc; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.app.Activity; import android.content.Context; import android.content.Intent; /**

《Thinking In Java第四版》拾遗

<Thinking In Java第四版>拾遗 转自我的github(http://katsurakkkk.github.io/2016/05/Thinking-In-Java%E7%AC%AC%E5%9B%9B%E7%89%88-%E6%8B%BE%E9%81%97) 近日重读了<Thinking In Java第四版>(可能版本比较老),发现一些有趣的和值得注意的地方,在此作个记录. 返回值过载 不能用返回值对函数进行overload,因为有可能调用方并不关心返回值,这就造成了