首页 > 编程语言 >JAVA三大特性

JAVA三大特性

时间:2023-05-30 18:45:11浏览次数:47  
标签:JAVA 私有 子类 多态 特性 编译 父类 方法 三大

封装

把对象的属性和具体行为看成一个私有的不可见的整体,不允许被外部修改,但是提供访问接口

这种对外简单使用,对内隐藏复杂性的形式 符合高内聚低耦合的程序设计

也提高了系统整体的可维护性

典型的是使用private 控制访问权限私有

 

继承

父类可以有多个子类,子类只能有一个分类

父类持有共性方法,子类继承父类的共性之外可以有自己的特性实现,这种继承共性也是减少了重复代码(共性不用定义多次)

另外,上层业务只需要对父类进行行为定义,具体的行为实现看用什么子类去实例化的父类 ,不需要对每种子类来一遍 简化代码 (向上转型,这也是多态的表现形式)

注意的是 父类的私有属性和方法,子类无法直接访问,也不可见     父类也不能执行子类的私有方法

 

父类私有属性和方法对子类不可见,但是子类调用父类公共方法时涉及到父类私有属性和方法时可以正常调用   间接访问

 

 

父类无法访问子类的私有方法

 

初始化子类会默认调用父类的构造 默认调用父类无参构造

多态

一句话概括:同一个行为(名称相同)具有多种不同表现形式或形态就叫多态

分为编译时多态和运行时多态

编译时能够确定执行多态中的哪一个方法,为编译时多态,否则为运行时多态

 

方法重载   编译时多态  由参数列表去匹配

方法重写  表现出两种多态  当对象引用本类实例时,为编译时多态,否则为运行时多态(用子类实例化的),需要沿着继承关系逐层向上搜寻匹配

向上/转转型

向下转型之前,它得先向上转型,不用重复创建新的引用实例

利用向下转型,通过一个公共方法,只需要更换父类引用(这个传入参数)指向的(子类)对象,便可以调用不同子类的独特的或者普遍行为,和属性(非private)

 

标签:JAVA,私有,子类,多态,特性,编译,父类,方法,三大
From: https://www.cnblogs.com/deity-night/p/17444088.html

相关文章

  • Javascript上传文件到阿里OSS存储,并支持进度查看
    现在使用js上传文件的插件有很多,例如:plupload等等今天我记录一下使用原生js的上传文件,并且支持进度查看,下面直接上代码:html代码:<inputtype="file"onchange="uploadMedia(this)"><aid="showProgress"style="display:none;"href="#"></a>预览效......
  • Python 执行Javascript脚本
    一、安装第三方库pipinstallPyExecJS二、创建一个js文件//test.jsfunctionadd(a,b){returna+b}三、创建一个python文件#testJs.pyimportexecjsctx=execjs.compile(open('./test.js','r',encoding='utf-8').read())print(ctx.call('add&#......
  • JAVA快速回顾
    原文来自:Java关键字_w3cschool 1.JAVA关键字/保留字/标识符abstractclassextendsimplementsnullstrictfptrueassertconstfalseimportpackagesupertrybooleancontinuefinalinstanceofprivateswitchvoidbreakdefaultfinallyintprotected......
  • JavaWeb
    JavaWeb1、基本概念1.1、前言web开发:web,网页的意思静态webhtml,css提供给所有人看的数据始终不会发生变化动态web几乎所有的网站都是动态的提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同技术栈:Servlet/JSP,ASP,PHP在Java中......
  • 新版idea快捷键总结学习----(用于java开发模式)
    选择代码区ctrlw如果放到以if开头的语句,可以选择if判断条件所在的代码片段游标在单个单词下时选择单词在选中多个单词时,选择整个字符串三次点击时,如果不在字符串单词下,用于选择{}内的代码片段逐级递增如果在单词下方,用于选择单词所在的字符串并且向外逐级扩展。ctrl......
  • java根据文件IO流实现文件拷贝
    代码实现如下1/**2*作用:执行文件夹文件拷贝3*@authorqi4*@paramcopyFile5*@paramcopyToFile6*@returnvoid7**/8publicstaticvoidcopyDir(FilecopyFile,FilecopyToFile)throwsIOException{9......
  • java spring添加自义定拦截器后发生访问路径错误,状态码应该返回404时却返回200的bug
    javaspring添加自义定拦截器后发生访问路径错误,状态码应该返回404时却返回200的bug问题自义定拦截器LoginInterceptor继承HandlerInterceptor,自义定配置类继承WebMvcConfigurer。配置类中@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){......
  • java之多态
    多态分为:1.方法的重载和覆写:a.重载:可以在一个类中定义多个同名的方法,其参数类型、参数个数、返回值类型不同。注:方法不能只有返回值类型不同b.覆写:子类实现跟父类同样的方法2.对象的多态:a.向上转换:b.......
  • Java入门学习必备工具-OneNote笔记
    俗话说:“好记性不如烂笔头”,不得不说,这句话在大部分时候都是适用的。特别是刚入门学习java的小白们,记笔记是非常实用的学习方法也可直接观看视频学习如何使用笔记工具,b站上动力节点老杜最新Java17版教程,从零基础出发,讲解Java编程的基础知识和实践技巧,涵盖了Java编程的方方面面......
  • android开发java.lang.NoClassDefFoundError: org/jetbrains/kotlin/cli/common/Prope
    问题:编译Android项目出现java.lang.NoClassDefFoundError:org/jetbrains/kotlin/cli/common/PropertiesKt原因:项目使用发JDK版本和Kotlin版本不一致或者说不对应导致gradle找不到对应的类解决方法:我的解决方法是降低JDK的版本到1.8,具体操作是OpenModulesSettings->SDKLoc......