Java 对象的继承,抽象类,接口

news/2024/7/7 1:23:43 标签: java

子父级继承

    关键字 extends    


    首先创建一个父类

1         class Fu
2         {
3             String name;
4             int a=1;
5             public void word()
6             {
7                 System.out.println("工作");    
8             }
9         }

 


    由一个子类继承

1         class Zi extends Fu
2         {
3             int a=2;
4             public void name()
5             {
6                 System.out.println(name);
7             }
8         }



    此时创建一个类,来调用

1         class Test()
2         {
3             Zi z=new Zi();
4             z.name="小张";
5             z.word();
6             z.name();
7         }


    由此得出总结:
        1)继承的出现提高了代码的复用性,提高软件开发效率
        2)继承的出现让类与类之间产生了关系,提供了多态的前提
        3)成员变量的变化:
            当出现相同名字的成员变量时,就近原则。如上面出现的int a;
            此时如果输出a那么,a=2;
            此时如果想要输出Fu的a,那么使用关键字
            super.a;
        4)上面代码中,Fu有name,而Zi没有name,Zi会继承Fu的name属性,所以此时使用对            象z.name来修改name值是的修改Zi的name。
        5)成员方法的特点
            同样方法也会被继承
            但当方法的返回值类型,方法名,参数相同时,方法会被覆盖
            在子类中,访问父类中的成员方法格式:
            super.父类中的成员方法();

 

抽象类的描述

  当两个或者多个累的方法相同时,那么向上抽取,只抽取方法声明,不抽取就是想方法就是抽象类

  抽象类的关键字 abstract

  类和抽象法都需要使用abstract修饰

  格式:

    类:    abstract class A{}

    抽象方法:public abstract A();

  抽象类的特点:

    1)抽象类中油抽象方法,抽象方法必须写在抽象类中

    2)抽象类不能直接创建对象

    3)抽象类可以被继承,然后进行方法的重写,重写方法以后就可以进行对象的创建。

 

接口的表述

  接口就是功能的集合,将方法的描述和具体的实现方法分开,优化了程序

  接口的关键字interface

  接口类的创建: public interface 类名

 接口的特点:

  1)接口中也可以有抽象方法,也需要使用abstract修饰

  2)接口同抽象类一样,不能创建对象,因为方法是抽象的,创建的对象毫无意义

  3)接口的抽象方法可以被继承之后重写

  4)接口中的变量都是常量不可以修改的,固定修饰符  public static final

  

抽象类和接口类的相同点和不同点:

  相同点 

  1)都属于被继承或者最顶级的父类

  2)都不可以直接创建对象

  3)都包含有抽象方法,都可以在被继承之后重写这些方法

  

  不同点

  1)抽象类一次只能继承一个,接口可以被类多个实现

  2)抽象类可以包含抽象方法和具体方法,而接口类只能有抽象方法

 

转载于:https://www.cnblogs.com/xiaozhang666/p/10392416.html


http://www.niftyadmin.cn/n/706643.html

相关文章

Selenium2+python自动化63-简易项目搭建

前言 到unittest这里基本上可以搭建一个简易的项目框架了,我们可以用一条run_main.py脚本去控制执行所有的用例,并生成报告,发送邮件一系列的动作 一、新建工程 1.打开pycharm左上角File>New Project,在Location位置输入项目名…

后端_服务器

本地搭建服务器 Nginx官网下载,解压放到本地文件夹.打开文件nginx.conf文件 ,做出以下修改:server {# 启动后的端口listen 8880; # 启动时的地址server_name localhost;# 启动后,地址栏输入: localhost:8880, 默认会在html文件夹下找 index.html文件locati…

2017年我国电力供需形势预测分析 清洁能源装机比重将提升

2016年,我国经济实现了“十三五”良好开局,GDP增速保持平稳,全社会用电量增速明显回升。2017年,我国面临着更为复杂的外部环境,经济下行压力仍然较大,电力供需形势将如何变化?有关专家进行了分析…

敏捷测试团队管理的挑战与机会

敏捷团队的管理其实的确面临着很多的挑战。蔡老师分别从敏捷管理的挑战、接受敏捷、敏捷下面的组织结构、敏捷架构下的沟通、敏捷下的KPI考核、以及机会和发展几个方面进行深入的讨论。 其实我觉得各个公司施行敏捷的时候都会遇见这次讲师所分享的一些问题,基本上都…

Taro-ui TabBar组件使用路由跳转

1、 安装taro-ui (此处使用cnpm) cnpm install taro-ui 2、 全局引入样式 app.scss sass :import "~taro-ui/dist/style/index.scss"; 3、 使用tabBar组件中引入AtTabBar ,详情可查询官网:https://taro-ui.aotu.io/#/docs/tabbar i…

tf.cast()用法

把布尔类型转化成0和1类型,true是1,false是0反之,亦成立。 转载于:https://www.cnblogs.com/xinmomoyan/p/10395465.html

大数据之mapreduce小实战

手写wordcount的程序 1、pom.xml <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs-client --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId>…

TCP 相关参数解释

为什么80%的码农都做不了架构师&#xff1f;>>> tcp_syn_retries &#xff1a;INTEGER 默认值是5 对于一个新建连接&#xff0c;内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255&#xff0c;默认值是5&#xff0c;对应于180秒左右时间。(对于大负载而物理…