JAVA基础之java面向对象编程

开发 后端
本文介绍的是java面向对象编程的基础知识,希望对你有帮助,一起来看。

下面介绍的是java面向对象编程的基础知识。

1:允许将子类的引用付给父类的对象,但子类中的那些不是从父类继承来的成员将不再可见。

例:

  1. Bus bus=new Bus();  
  2. Car car=bus; 

 

但是car实例不可以引用bus中的非继承域,如p载人数。

2:this和super

this引用当前类的变量或方法,super引用当前对象的直接父类的变量或方法

3:多态

同一个名字可以有多种实现状态,同一个类内部,可以拥有同名的,参数列表不同的方法,子类也可以有同父类同名的变量和方法。

1)覆盖(override),当子类继承了父类的同名无参函数时,子类新写的方法覆盖父类的方法,(返回类型必须相同)

2)重载(overload)继承了父类的同名有参函数,并且方法参数不同时称为重载,使该方法具有自己的特性。

3)重写(overwrite)当前类的同名方法,同一个类中可以有多个具有相同名字的方法,由传递给他们的不同个数和类型的参数来决定使用哪种方法。

覆盖和重载针对父类,重写针对子类。

4:抽象类定义

抽象类可以有自己的数据成员,也可以又非abstract的成员方法,也可以有抽象方法,抽象方法只有函数定义部分,没有函数体。

子类继承抽象类时必须实现所有的abstract方法。

5:接口

java只支持单一继承,为了实现多重继承,设计了接口。一个类只可以有一个直接父类,但是可以实现多个接口。

接口中的方法可以有参数列表和返回类型,但是没有任何方法体。

接口中可以包含字段,但是会被隐士地声明为static和final

接口中的字段只能被存储在该接口的静态存储区域内,而不属于该接口。

接口中的方法为public

扩展一个接口来生成新的接口使用关键字extends,实现一个接口使用implements.

java接口的方法只能是抽象的和公开的,java接口比java抽象类更抽象化。

6:接口与抽象类的区别

1)抽象类可以提供实现方法,接口不能提供。如果向抽象类中添加一个新方法,则它的所有子类一下子就得到了这个方法,但是接口,所有实现这个接口的类必须都再实现这个方法才行。

2)抽象类只能继承一个,而可以实现多个接口。

“默认适配模式”:java接口在最上面,然后紧跟着抽象类。

3)接口可以被嵌套,既可以被某个类嵌套,也可以被接口嵌套。

7:静态类

即定义了静态方法、静态变量、静态代码块的类。静态类不能被实例化,累的成员都是静态的。意味着告诉编译器,这个方法不需要创建一个此类的对象即可使用。费静态类一般需要实例话后才能操作。静态类在运行时加载到内存中,所以不用进行初始化,也没有实例,因此在类的内部也不能用this。

希望本文对你有帮助。

【编辑推荐】

  1. 简单介绍Java 网络程序
  2. JAVA基础之java运算符大百科
  3. 深入解读JavaScript内存回收机制
  4. 分享Java性能监控的小技巧
  5. JavaScript面向对象编程深入分析
责任编辑:于铁 来源: 互联网
相关推荐

2011-06-13 10:41:17

JAVA

2023-10-25 13:42:19

Java面向对象

2023-02-16 09:55:24

对象编程OOP

2009-06-16 17:09:17

Scala面向对象函数编程

2011-07-14 17:24:10

C++面向对象思想

2011-07-14 17:37:02

C++面向对象编程思想

2012-01-17 09:34:52

JavaScript

2017-04-21 09:07:39

JavaScript对象编程

2009-11-23 19:24:01

PHP面向对象编程

2011-07-21 17:19:47

java面向对象

2009-06-22 13:48:00

Java编程思想面向对象

2010-11-17 11:31:22

Scala基础面向对象Scala

2013-08-21 17:20:49

.NET面向对象

2012-02-27 09:30:22

JavaScript

2014-05-08 14:13:00

Java面向GC

2022-07-30 23:41:53

面向过程面向对象面向协议编程

2021-02-26 13:08:27

Java高并发AQS

2012-12-13 11:01:42

IBMdW

2021-06-08 09:47:44

Java面向对象

2021-01-28 08:34:30

Java对象定义
点赞
收藏

51CTO技术栈公众号