java的四个基本特性及相关问题

tonitacc tonitacc     2022-12-10     526

关键词:

Java的四个基本特征

1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。

    抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类),得到继承信息的类被称为子类(派生类)。

    继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。

3)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。

    面向对象的本质就是将现实世界描绘成一系列完全自洽、封闭的对象。

    我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。

    可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。

4)多态:是指允许不同子类型的对象对同一消息作出不同的响应。

    多态的理解(实现方式)

      方法重载(overload)实现的是编译时的多态性(也称为前绑定)

      方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西

      要实现多态需要做两件事:1.方法重写(子类继承父类并重写父类中已有的或抽象的方法)

                  2.对象造型(用父类型引用指向子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)     

    项目中对多态的应用:消费者用户和店家用户登陆同一个购物网,有相同的方法Login,但会进入到不同的页面。

              两种客户都继承父类的Login方法,但对于不同的对象有不同的操作,导向的结果也不同。

 

相关问题:    

一.继承的好处和坏处
  好处:  
       1. 子类能自动继承父类的接口
       2. 创建子类的对象时,无须创建父类的对象
 
  坏处:  1. 破坏封装,子类与父类之间紧密耦合,子类依赖于父类的实现,子类缺乏独立性
       2. 支持扩展,但是往往以增加系统结构的复杂度为代价
       3. 不支持动态继承。在运行时,子类无法选择不同的父类
       4. 子类不能改变父类的接口

二.重载、重写
  重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。
  重写发生在子类与父类之间。可以说子类重新定义了父类的方法。重写必须有相同的方法名,参数列表和返回类型。

  重写(override)又名覆盖:
    1.不能存在同一个类中,在继承或实现关系的类中;
    2. 名相同,参数列表相同,方法返回值相同,
    3.子类方法的访问修饰符要大于父类的。
    4.子类的检查异常类型要小于父类的检查异常。
  重载(overload)
    1.可以在一个类中也可以在继承关系的类中;
    2.名相同;
    3.参数列表不同(个数,顺序,类型) 和方法的返回值类型无关。

三.Java 中是否可以覆盖(override)一个 private 或者是 static 的方法?
答: Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法
  是编译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。
  java 中也不可以覆盖 private 的方法,因为 private 修饰的变量和方法只能在当前类中使用,
  如果是其他的类继承当前类是不能访问到 private 变量或方法的,当然也不能覆盖。

java的四个基本特性——封装继承多态抽象(代码片段)

赶上明天就还是五一c小长假了,准备在这几天写几篇原创文章,供大家一起学习。首先今天就来好好地唠一唠,到底java的那几个特性都是什么呢?到底怎么用呢?相信一定有一些小白对此会有些懊恼,没关系的,谁还不是从那... 查看详情

java时间处理的四个基本实例

时间处理是任何编程语言经常会遇到的,本文章向大家介绍java时间处理的四个基本实例。具体实例如下: Java格式化时间(SimpleDateFormat)Java获取当前时间Java获取年份、月份等Java时间戳转换成时间 查看详情

面试相关的技术问题---java基础

...,使用的时候一个一个依次调用。(描述的是步骤)2.Java的四个基本特性(抽象 查看详情

java学习之面向对象的四个特性

对象:由行为、状态和唯一标志组成。一抽象  抽象是忽略一个主题中与当前目标无关的方面,把现实世界中的概念转换为对象,可以是表示数据的VO对象或抽象类,也可以是表示一类行为的接口。有利于从众多变化的状态... 查看详情

acid:数据库事务正确执行的四个基本要素

ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库,必需要具有这四种特性,否则在事务过程(Tra... 查看详情

数据库事务的四大特性及事务隔离级别

概要:事务的四个特性:原子性、一致性、隔离性、持久性事务不隔离带来的问题:脏读、不可重复读、虚读(幻读)事务隔离的级别:串行化(111)、可重复读(110)、读已提交(100)、读未提交(000) 1、事务四个特性... 查看详情

mysql事务四个特性-事务的四个隔离级别

MySQL事务四个特性-事务的四个隔离级别一、事务四大属性1、原子性(Atomicity)2、一致性(Consistency)3、隔离性(Isolation)4、持久性(Durability)二、事务的隔离级别1、脏读2、不可重复读3、幻读1&#x... 查看详情

转载androidn完全不同以往的四个新特性

Google最近发布了Android的下一个版本,AndroidN的开发者预览版。此次预览版,可以让我们开发者在正式发布之前就测试代码,包括一些新的API,甚至于也可以提前反馈那些对于我们来说有些困扰的变化。这次的发布版本只酝酿了几... 查看详情

事务的四个特性,以及在并发环境下可能引发的一些问题(代码片段)

原子性整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。一致性一个事务可以封... 查看详情

简述事务的四个特性。

...是一组不可再分割的操作集合(工作逻辑单元); 事务的四大特性: 1、原子性事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做,或者说:原子性是指事务包含的所有操作要么全部成功,要么全部... 查看详情

mysql知识点

1.数据库事务的四个特性及含义数据库事务transanction正确执行的四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不... 查看详情

事务的四个特性

原子性:不可拆分,要么成功,要么失败。只要有一个指令失败,那么就回滚一致性:事务在执行过程中的状态,对于其他事务是不可见的。因为中间的状态他是不一致的https://www.cnblogs.com/jkwll/p/11520989.html隔离性:事务之间是隔... 查看详情

mysql的事务四个特性以及事务的四个隔离级别(代码片段)

一、事务四大属性分别是原子性、一致性、隔离性、持久性。1、原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能... 查看详情

mysql的事务四个特性以及事务的四个隔离级别(代码片段)

一、事务四大属性分别是原子性、一致性、隔离性、持久性。1、原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能... 查看详情

mysql事物四大特性和事物的四个隔离

1、事物四大特性(ACID)原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的... 查看详情

sqlserver索引的四个高级特性(代码片段)

SQLServer索引的四个高级特性 一、IndexBuildingFilter(索引创建时过滤)           有一些索引非常低效的,比如经常查询状态为进行中的订单,订单有99%的状态是完成,1%是进行中,因此我们在订单状态字段上建... 查看详情

nginx的四个基本功能(代码片段)

Nginx能做什么1.反向代理2.负载均衡3.HTTP服务器(包含动静分离)4.正向代理以上就是做网站小编了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功能怎么做1、反向代理反向代理应该是Nginx做的最多的一件事了... 查看详情

11年c#4.0四大新特性代码示例与解读

摘要:今天我们结合代码实例来具体看一下C#4.0中的四个比较重要的特性。  之前的文章中,我们曾介绍过C#的历史及C# 4.0新增特性,包括:dynamic、命名和可选参数、动态导入以及协变和逆变等。今天我们结合代码实例来... 查看详情