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 ...
随机推荐
- ES6的let和const命令(一)
2019独角兽企业重金招聘Python工程师标准>>> ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变 量,只在let命令所在的代码块内有效. let ...
- Eclipse Collections:让Java Streams更上一层楼
\ 关键要点 \\ Eclipse Collections是一个高性能的Java集合框架,为原生JDK集合增加了丰富的功能.\\t Streams是JDK的一个非常受欢迎的功能,但它缺少了一些特性,严 ...
- CodeForces - 1047A
A. Little C Loves 3 I time limit per test1 second memory limit per test256 megabytes inputstandard i ...
- Naigos install pnp4nagios 绘图插件
原文地址:http://www.cnblogs.com/caoguo/p/5022230.html vim /etc/httpd/conf/httpd.conf <Directory " ...
- Spring MVC的Controller接受请求方式以及编写请求处理方法
Controller接受请求参数的常见方法: 1.通过Bean接受请求参数: 创建POJO实体类 创建pojo包,并在该包中创建实体类UserForm,代码: package pojo; public ...
- CTF-Pwn-[BJDCTF 2nd]diff
CTF-Pwn-[BJDCTF 2nd]diff 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非 ...
- A. Powered Addition(二进制性质-思维)
\(拿样例来看1 7 6 5\) \(6成长到7是最合理的,因为1s就可以实现而且对于后面来说最优\) \(5成长到7是最合理的,因为2s就可以实现而且对于后面最优\) \(发现了什么?二进制是可以组 ...
- P2764 最小路径覆盖问题 网络流重温
P2764 最小路径覆盖问题 这个题目之前第一次做的时候感觉很难,现在好多了,主要是二分图定理不太记得了,二分图定理 知道这个之后就很好写了,首先我们对每一个点进行拆点,拆完点之后就是跑最大流,求出最 ...
- Spark离线日志分析,连接Spark出现报错
首先,我的代码是这样的 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object ...
- 图形学_opengl纹理映射
学了半学期的图形学,除了几个用python或是matlab比较方便的实验外,用的大多数是opengl,在这总结一下纹理贴图实验中opengl的用法. 1.编译器连接静态库 有用到glaux.h的程序, ...