java中的三(四)大特性

java中的三(四)大特性 :继承 、 封装 、多态、(抽象)

类与类之间的关系:

is-a                   继承 、实现

继承的表现:使用extends继承父类

实现的表现:使用importance实现接口

has-a                组合 、聚合、关联

关联的表现:关联关系一般使用成员变量来实现。

use-a (need-a)  依赖

依赖的表现,一个类的方法操作另一个类的对象

例如:人(Person) 开 车(Car)

继承

使用extends关键词  子类继承父类,子类拥有父类所有的方法与属性(注:除了private修饰的方法以及属性)

在JAVA中只能单继承,所有的类没有显性的继承父类系统默认隐性继承Object类,Object类是所有的父类

继承的好处:子类可以重写父类方法(实现运行时多态性),提高代码可复用性

示例:

//Son是子类 ,Father是父类 所以就是子类继承

public class Son extends Father{

//方法......

}

super关键词:若子类重写父类方法,可使用super调用父类中的方法及属性,以及构造方法,调用构造方法时super关键词只能出现在第一行代码

多态

实现多态的前提是:继承关系 ,父类作为引用地址指向子类地址

语法:

public class Animal{}

public class Person extends Animal{}

public class Test{

public statci void main(String[] args){

Animal animal=new Person();    //向上转型

}

}

抽象

abstract修饰的类成为抽象类

语法:public abstract class Animal{

public Animal(){

//Animal的构造方法

}

//抽象方法中不能包含方法体

pulic abstract void show();

}

类的权限修饰符为:protected、public 、默认不写

定义了一个抽象方法则该类必须定义为抽象类

抽象类中可以定义具体方法,构造方法,代码块

抽象类不可以被实例化,需要通过子类继承(继承抽象类必须实现抽象类中所有的抽象方法,否则继承的子类也应该为抽象类),再将子类实例化

注:定义了抽象类和抽象方法不能使用final修饰,使用final里修饰的为:最终类(方法),不能被继承、重写

接口

interface 修饰的类称为接口

权限修饰符为public及以上

语法:public interface Animal{

//静态常量   public static final String name="啊榕";    //常量必须赋初始值,否则编译报错

//抽象方法        //不能包含方法体

注:在jdk1.8之后可以含有一个static具体方法,以及多个default修饰的具体方法

}

接口为更抽象的一种类型、不能包含具体实现的方法,如:构造方法、代码块、具体方法

接口中只能包含静态常量、抽象方法

实现接口使用implement关键词实现接口可以多实现,使用,分隔   例:public class a implement b,c

接口直接可以实现多继承!一个接口可以继承多个接口 例如:public interface a extends b,c

实现接口必须重写方法中的所有方法,否则该类也应该为抽象类

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/StuAr/p/a3ce24f9f11ac9c1ed5943fa804d0bc3.html

时间: 2024-11-06 03:41:34

java中的三(四)大特性的相关文章

Java中常用的四种线程池

在Java中使用线程池,可以用ThreadPoolExecutor的构造函数直接创建出线程池实例,如何使用参见之前的文章Java线程池构造参数详解.不过,在Executors类中,为我们提供了常用线程池的创建方法.接下来我们就来了解常用的四种: newFixedThreadPool 首先,看一下这种线程池的创建方法: public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExec

详解 Java 中的三种代理模式!

作者:岑宇 https://www.cnblogs.com/cenyu/p/6289209.html 代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法. 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的

详解 Java 中的三种代理模式

代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.      这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法.      举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎

Java - Java 中的三种 ClassLoader

1.虚拟机类加载器(称为"bootstrap class loader"),它本身没有父类加载器,它负责加载虚拟机的内置类,由于它是用C.C++写的,所以Java无法拿到其class文件,返回的都是空,因为C.C++编译后不是*.class文件 2.JDK扩展类加载器(sun.misc.Launcher$ExtClassLoader),它是虚拟机类加载器的子类,它负责加载java.x包下的类. 3.系统(应用)类加载器(sun.misc.Launcher$AppClassLoader)

XML解析——Java中XML的四种解析方式

 XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. XML的解析方式分为四种:1.DOM解析:2.SAX解析:3.JDOM解析:4.DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台. 针对以下XML文件,会对四种方式进行详细描述: 1 <?xml version="1.

黑马程序员——XML解析---java中XML的四种解析方式

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. XML的解析方式分为四种:1.DOM解析:2.SAX解析:3.JDOM解析:4.DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于jav

java中jsp的九大隐式对象及web四大域

JSP运行原理和九大隐式对象 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用. 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响. JSP引擎在调用JSP对应的_jspServlet时,会传

java中存在的四种引用

Java开发中存在四种引用,它们分别是: 强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用, 那垃圾回收器绝不会回收它.当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题. 软引用(SoftReference)如果一个对象只具有软引用,则内存空间足够, 垃圾回收器就不会回收它:如果内存空间不足了,就会回收这些对象的内存. 只要垃圾回收器没有回收它,该对象就可以被

【Java学习笔记之十一】Java中常用的8大排序算法详解总结

分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序.   // 排序原始数据 private static final int[] NUMBERS = {49, 38, 65, 97, 76, 13, 27, 78, 34, 12, 64, 5, 4, 62, 99, 98,