Java 对象的继承,抽象类,接口
子父级继承
关键字 extends
首先创建一个父类
class Fu
{
String name;
int a=1;
public void word()
{
System.out.println("工作");
}
}
由一个子类继承
class Zi extends Fu
{
int a=2;
public void name()
{
System.out.println(name);
}
}
此时创建一个类,来调用
class Test()
{
Zi z=new Zi();
z.name="小张";
z.word();
z.name();
}
由此得出总结:
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)抽象类可以包含抽象方法和具体方法,而接口类只能有抽象方法
Java 对象的继承,抽象类,接口的更多相关文章
- 面向对象 继承 抽象类 接口 static 权限修饰符
Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...
- 基础学习day07---面向对象三---继承,接口与 抽象类
一.继承 1.1.继承概念 将对象的共性抽取出来.提取出一个单独的类. 继承使用复用以前的代码非常容易,能够大大的缩短开发周期,降低开发成本,同时增加程序的易维护性 继承使重一个类A能够直接使用另外一 ...
- Java中的继承抽象类和接口
一.总结 1.使用extends关键字继承,eg: class Student extends Persion { ...}; 2.Java编程规范中类的首字母大写,方法的首字母小写单词首字母代谢,e ...
- Java学习笔记——继承、接口、多态
浮点数的运算需要注意的问题: BigDecimal operand1 = new BigDecimal("1.0"); BigDecimal operand2 = new BigD ...
- Java自定义排序:继承Comparable接口,重写compareTo方法(排序规则)
代码: 1 import java.util.*; 2 3 /** 4 * 学习自定义排序:继承Comparable接口,重写compareTo方法(排序规则). 5 * TreeMap容器的Key是 ...
- java 类的继承和接口的继承
父类 public class person { String name; int age; void eat(){ System.out.println("吃饭"); } voi ...
- Java中的继承和接口
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 这是个老话题,继承和接口是实现多态的两种方式,如果对象很多,其中一对一对的有共同点,建议用继承,如果 ...
- Java入门教程十(抽象类接口内部类匿名类)
抽象类(abstract) 一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类. 在面向对象领域,抽象类 ...
- java之子类继承抽象类,子类构造器调用抽象类构造器问题
package com.wtd; public abstract class Car { private String name= "car"; public Car(String ...
随机推荐
- Apache Storm 官方文档 —— Storm 与 Kestrel
本文说明了如何使用 Storm 从 Kestrel 集群中消费数据. 前言 Storm 本教程中使用了 storm-kestrel 项目和 storm-starter 项目中的例子.建议读者将这几个项 ...
- 微软Project Online落地中国
1月18日,微软中国宣布,从即日起,Project Online服务将正式落地中国,通过由世纪互联运营的Office 365向中国用户提供卓越的项目组合管理(PPM)联机解决方案,助力团队迅速启动项目 ...
- 用VC实现洪水攻击程序
本文为原创,如需转载,请注明作者和出处,谢谢! 一. 什么是洪水攻击 洪水之猛.势不可挡.如果将洪水比作对计算机的攻击,那大家可以想象得出,攻击是多的猛烈. 在安全领域所指的洪 ...
- Centos7 team 绑定多网卡
1.nmcli connection show 查看所有的网络连接 nmcli connection show 接下来我们要使用 ens37 ens38 两个网卡绑定 , 绑定的网卡取名: agg-e ...
- SpringBoot + MybatisPlus3.x 代码生成
主要参考另外两篇博文,这里表示感谢 参考一(mybatisplus3.x分页) : https://www.jianshu.com/p/2ec9337dc2b0 参考二(mybatisplus2.x升 ...
- python post protobuf
本文主要讲述如何使用Python发送protobuf数据. 安装protobuf .tar.gz cd protobuf- ./configure make make install 安装成功. // ...
- 关于MySQL数据库的卸载
首先对于MySQL这款数据库来讲,不能简单的卸载就草草了事,我们首先在mysql的文件下面找到my.ini这个文件, 在其中找到mysql数据库所产生的data文件,这个文件一般在c盘的一个隐藏目录下 ...
- Web概念
目录 Web概念概述 Web概念概述 JavaWeb 使用 Java 语言开发基于互联网的项目 软件架构 C / S:Client / Server 客户端 / 服务器端 在用户本地有一个客户端程序, ...
- ReentrantLock源码解析
ReentrantLock 1 数据结构 从上图可以看出,ReentrantLock的功能都是通过sync这个对象提供的. public class ReentrantLock implements ...
- 【Elasticsearch学习】文档搜索全过程
在ES执行分布式搜索时,分布式搜索操作需要分散到所有相关分片,若一个索引有3个主分片,每个主分片有一个副本分片,那么搜索请求会在这6个分片中随机选择3个分片,这3个分片有可能是主分片也可能是副本分片, ...