首页 > 编程语言 >java三大特性概述

java三大特性概述

时间:2023-08-24 16:55:05浏览次数:43  
标签:java 定义 对象 子类 概述 抽象 抽象类 方法 三大

内部类

将一个类定义在另一个类里面,里面的那个类就称为内部类。内部类的出现,再次打破了Java单继承的局限性。

封装

封装的定义

封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。

封装的好处

  1. 良好的封装能够减少耦合。
  2. 类内部的结构可以自由修改。
  3. 可以对成员进行更精确的控制。
  4. 隐藏信息,实现细节。

继承

继承的定义

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。关键字(extends)让类与类之间产生继承关系。

多态

多态的定义

对象在不同时刻表现出来的不同状态。

多态的注意事项

  • 一定不能够将父类的对象转换成子类类型。
  • 多态自始至终都是子类对象在变化。
  • 父类的引用指向子类对象,该引用可以被提升,也可以被强制转换。
  • 抽象

    抽象的定义

    抽象就是从多个事物中将共性的,本质的内容抽象出来。

    抽象类

    Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类。

    由来:

    多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的方法称为抽象方法。

    抽象类特点:

    • 抽象方法一定在抽象类中;
    • 抽象方法和抽象类都必须被abstract关键字修饰;
    • 抽象类不可以用new创建对象,因为调用抽象方法没意义;
    • 抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象调用; 如果子类只覆盖了部分的抽象方法,那么该子类还是一个抽象类;
    • 抽象类中可以有抽象方法,也可以有非抽象方法,抽象方法用于子类实例化;
    • 如果一个类是抽象类,那么,继承它的子类,要么是抽象类,要么重写所有抽象方法。
    • 特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。

    抽象类的成员特点:

    • 成员变量:可以是变量,也可以是常量;
    • 构造方法:有构造方法;
    • 成员方法:可以是抽象方法,也可以是非抽象方法。

标签:java,定义,对象,子类,概述,抽象,抽象类,方法,三大
From: https://www.cnblogs.com/taoliu/p/17654574.html

相关文章

  • JavaSE(2)(简单了解idea, 项目结构,运算符,数据转换,原反补码)
    JavaSE(2)(简单了解idea,项目结构,运算符,数据转换,原反补码)p28idea项目结构project项目 > module模块 > package包 > class类拿微信举例,微信就是项目,它下方的四大功能(微信,通讯录,发现,我)就是模块,一个项目是包含一个或多个模块的.以第一个微信模块为例,我们......
  • Java
    https://blog.csdn.net/Eric_splendid/article/details/79898536 测试:1.06GB视频文件,耗时17秒importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.nio.channels.FileChannel;//原文链接:http......
  • JavaScript基础语法
    一、JavaScript概述1.1、JavaScript可以做什么1.1.1、页面的各种动画效果1.1.2、页面的点击/移入响应1.1.3、对客户端数据进行验证1.1.4、各种页面小游戏1.1.5、用途总结嵌入动态文本于HTML页面。对浏览器事件做出响应(对于用户的操作给予响应)。读写HTML元素。在......
  • Java方法
          递归层数太高时,会占用较大的内存......
  • java裁切NC文件并转成Json
    importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importorg.junit.Test;importucar.ma2.Index;importucar.nc2.NetcdfFile;importucar.ma2.Array;importjava.io.FileWriter;importjava.io.IOException;publicclassNetCDF2JS......
  • java实现大文件上传下载
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • Java流程控制
         ......
  • 快手Java一面11问(附参考答案)
    现在已经到了面试招聘比较火热的时候,后续会分享一些面试真题供大家复习参考。准备面试的过程中,一定要多看面经,多自测!今天分享的是一位贵州大学的同学分享的快手一面面经。快手一面主要会问一些基础问题,也就是比较简单且容易准备的常规八股,通常不会问项目。到了二面,会开始问项目,......
  • java bean赋值工具类
    javabean赋值工具类实现接收的bean赋值,判断有没有对应值的get、set方法,有就赋值。publicstatic<T>voidprint(Tbean){Class<?>fromClass=bean.getClass();Method[]toClassMethods=fromClass.getMethods();//遍历to含有的方法for(Methodmethod:toCla......
  • 学习JAVA的第一天:熟悉IDEA结构并新建工程、模块、包、类。
    新建工程、模块、包、类创建模块:新建package包:包的命名也有要求,一般使用公司域名的倒写,如果公司域名是:www.baidu.com,那么包的命名则是:com.baidu.XXXXXX新建类:IDEA快捷输入mainsout编译总结IDEA的结构分为:项目project-模块module-包package-类class。项目proj......