当前位置:网站首页 > Java基础 > 正文

java抽象基础



常用的名字认识

一:面向对象
1.面向对象的基本特征
        1):封装 就是把客观的事物封装成抽象的类 
        2):继承 { 继承:实现继承和可视继承}    {组合:接口继承和纯虚类}
        通过继承创建的类称为"子类"和"派生类";被继承的类叫做”基类“和”超类“
        子类可以直接访问父类中的非私有的的属性和行为
        子类无法继承父类中私有的的内容
        类只支持单继承,不允许多重继承,一个类只能有一个直接父类
this:代表当前的对象
super:代表弗雷的内存空间的标识
        3):多态 {覆盖:接口}  {重载:同名函数}

二:类和对象的概念
类:是对一群具有相同特征或行为的事物的一个统称,是抽象的不能直接使用
对象:是由类创建出来的一个具体的存在,可以直接使用

三:抽象类:java中可以定义的没有方法体的方法,该方法由其子类来具体的实现,称为抽象类
特点:
1.抽象类用abstract关键字来定义
2.定义中含有抽象方法的类叫做抽象类
3.抽象类不能实例化
4.可以有具体方法,可以没有抽象方法

四:接口
接口是一种“引用数据类型” 编译后是一个class字节码文件
接口是完全抽象的,是无法实例化
接口支持多继承,一个继承可以继承多个接口
接口包含两部分:常量  抽象方法
接口中的方法都是抽象方法,所以接口中的方法不能有方法体
一个类可以实现多个接口
类和类之间叫做继承,类和接口之间叫做实现

在继承的方法重写中,当父类中的方法不满足子类的需求时,进行方法重写

一、抽象方法
1、定义
英文单词:      abstract   抽象的

(1)在Java中,当一个类的方法被abstract关键字修饰时,该方法称为抽象方法;

(2)当一个方法被定义为抽象方法后,意味着该方法不会有具体的实现(没有方法体),而是在抽象类的子类中通过方法重写进行实现;

(3)抽象方法没有方法体。

(2)抽象方法没有方法体,普通方法有方法体;

(3)抽象方法所在的类必须定义为抽象类,普通方法可以出现在抽象类和普通类;

(4)抽象方法必须要在子类中重写,如果子类不实现(重写),子类要定义为抽象类;

(5)抽象方法不可以用private修饰符修饰,普通方法可以;

二、抽象类 
1、定义
在Java中,当一个类被abstract关键字修饰时,该类称为抽象类。

            //代码块

}; 

(2)抽象类不可以实例化(生成对象),普通类可以实例化;

(3)抽象类中可以包含抽象方法和普通方法,普通类中不能包含抽象方法;

(4)抽象类中可以包含普通类的一切成员;

(5)抽象类不能被密封(使用private).

 一般我们的父类并没有包含子类的特有的属性和方法,所以父类没有足够的信息来描述子类的对象,所以父类可以定义为抽象类。

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

比如我们吃饭,但我们每个人吃的都不一样,吃饭就是抽象的,每个人吃什么是具体的,所以抽象的概念他没有具体的概念,抽象概念的抽象类是不能够实例化的。

就像父类定义了一个方法,父类不需要实现什么方法,但所有子类都有这个共同的方法名且实现的方法体不同,我们就把这个方法定义为抽象方法。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 抽象方法是单继承,接口是实现多继承的区别

继承和多态是面向对象开发的重要环节,使用得当可以让代码的的功能更加灵动、高效,同时还可以减少代码的冗余

 

 

 

 

 

 

 

 

这种克隆称为浅克隆,也叫作浅拷贝

 

 

 

 

 

 

 

 

 

 java抽象基础

 

 

 

 

  • 上一篇: java语法基础答案
  • 下一篇: java基础自学网
  • 版权声明


    相关文章:

  • java语法基础答案2025-04-16 17:50:06
  • java基础650讲2025-04-16 17:50:06
  • java基础网页制作2025-04-16 17:50:06
  • java基础面试栈2025-04-16 17:50:06
  • java培训零基础2025-04-16 17:50:06
  • java基础自学网2025-04-16 17:50:06
  • java基础及web2025-04-16 17:50:06
  • java基础事例2025-04-16 17:50:06
  • java程序基础视频2025-04-16 17:50:06
  • java基础学习视频2025-04-16 17:50:06