java-面对对象特性概要

java-面对对象特性概要

一 对象与对象之间的联系

依赖 

关联

聚合 可以独立

组合 不可独立

继承 子类父类的关系

二 打包java文件

打包java文件

jar cvfm test.jar ***.mf ***.class等class文件

解包运行

java -jar test.java

三 继承

子类(派生类)继承父类(基类),继承与被继承的关系,面对对象就是不同的对象间相互联系

关键字 extends

public class S extends F{}

私有方法和变量无法继承

四 方法的覆盖和重载

覆盖

子类重写父类的同名方法

1 方法名相同

2 参数一致

3 子类方法修饰符大于等于父类的修饰符

4 有继承联系

5 出现在不同的类中,即子类和父类

重载

方法的重载出现在一个类中

五 多态

父类 对象 = new 子类

该对象指向子类

若父类和子类存在方法的覆盖,则该对象仍然调用子类的覆盖方法

对象可以当做方法的参数

六 this和super

1 this

this.a();

用点调用

2 super

前提是子类继承父类

在子类中使用super

父类先构造

子类在构造

super()代表调用父类的构造方法

super.a()代表调用父类的方法

七 抽象类和接口

抽象类

关键字 abstract

列如,动物类

1 可以有成员变量

2 可以有构造方法

3 可以有修饰符

4 可以有抽象方法,没有方法体的方法(没有花括号),含有abstact关键字 public abstract void eat();

5 抽象类的抽象方法必须被子类去覆盖,去实例化

接口

接口也是一个特殊的抽象类

1 含有成员变量,方法比抽象类更高级

2 全部是抽象方法,abstract, 抽象类中可以有非抽象类

3 结构的成员变量必须初始化,默认加上了括号的内容

(public static final )int age = 10;

4 继承 public class Stu implement Person{} 子类必须实现接口的所有抽象函数

时间: 2024-11-11 05:16:58

java-面对对象特性概要的相关文章

java面对对象

什么是面对对象: 就是把事务抽象成类,利用属性和方法描述他的特征: 面向对象的三大特性: 1.封装 隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性. 2.继承 提高代码复用性:继承是多态的前提. 3.多态 父类或接口定义的引用变量可以指向子类或具体实现类的实例对象.提高了程序的拓展性. 五大基本原则: 1.单一职责原则SRP(Single Responsibility Principle) 类的功能要单一,不能包罗万象,跟杂货铺似的. 2.开放封闭原则

java 面对对象的三大特性

我们先要知道类的访问修饰符: public:公共的,在同一工程中任意地方都能访问. protected:受保护的,在同一包中课可以访问,不同包中的自己的“子类”中也可以访问:能被继承. Default:默认访问:同一包中的其他类使用,早同一包中能被继承, Private:私有的,只有在当前类使用:不能被继承,重写. 1.封装: 封装可以提高代码的重用性,能够隐藏实现细节. 是使类中的成员变量都是private,并提供public 方法访问这些成员变量的技术. 2.继承:(extends) 在面向

java面对对象 关键字this super

this:this是指向对象本身的一个指针,成员函数内部指向当前类的对象 其实this主要要三种用法: 1.表示对当前对象的引用! 2.表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下. 3.用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法).但是这里必须非常注意:只能引用一个构造方法且必须位于开始! 还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有th

java面对对象(六)--内部类、匿名内部类

内部类 可以在一个类的内部定义另一个类这种类成为内部类或嵌套类,比如: 1 class Outer{ 2 - 3 class Inner{ 4 -. 5 } 6 } 7 class Outer1{} // 这个Inner1不是Outer1的内部类,不在Outer1的类体括号内 8 class Innter1{ 9 -- 10 } 11 Class Outer2{ //Inner2虽然是在Outer2的方法内,但还是在Outer2的类体括号内,是内部类 12 -- 13 public void t

java——面对对象

软件出现的目的:*用计算机的语言来描述世界*用计算机解决现实世界的问题 面向对象的思想 描述 面向对象的世界 面向对象设计和开发程序的好处:*交流更加流畅*提高设计和开发效率 构造方法:构造方法是用来描述对象创建的过程,构造方法在对象创建的过程中被调用 语法: 访问修饰符 构造方法名(){ //初始化代码}注意:构造方法名必须和类名相同:没有返回值: 方法重载:*方法名相同*参数项不同*与返回值和访问修饰符无关 this关键字用法: 调用属性:this.属性名=100: 调用方法: this.方

Java面对对象之封装

学习到了封装,也希望这篇文章能个给后面学习java的人一点帮助. 首先我们用实际问题先感受一下封装的概念. 用人来举例,人的年龄是有限的,0-120左右 我们在社交网站填写个人信息的时候,也会有年龄这一项,那么这个年龄允许填写负数或者很大的数吗? 实际上是不允许的. 这个时候实际上是对年龄这一项做出了某些条件的限制 再比如,中国人的名字. 登记户口的时候,名字和领导人的名字同名是否可行? 还是不行,因为国家不予许这样做 这个时候国家对名字这一项也做出了条件限制 回到我们程序 public sta

java面对对象-类与对象

一.定义类 类的重要性,所有Java程序都以类class为组织单元   如何定义类     一个全面的类定义比较复杂,如: package 包名; class 类名 extends 父类 implements 接口名{ 成员变量; 构造方法; 成员方法; } 定义类的步骤: a.定义类名 b.编写类的属性 c.编写类的方法 /** * 定义一个car类 */ public class car{ //属性 public String name; //车的名字 public int color; /

java面对对象入门(4)-程序块初始化

Java实例初始化程序是在执行构造函数代码之前执行的代码块.每当我们创建一个新对象时,这些初始化程序就会运行. 1.实例初始化语法 用花括号创建实例初始化程序块.对象初始化语句写在括号内. public class DemoClass { //This is initializer block 1 { //statements } //This is initializer block 2 { //statements } } 2.Java实例初始化器功能 实例初始化器具有以下功能. 我们可以在

基于java面对对象编程范式

科学思维&工程思维 科学思维:限制条件可有可无,理论可行寻求未解决问题转变为解决问题的最优解: 工程思维:限制条件多,现实可行性下寻求折中方案,不坏的解. 软件工程的发展历史: 数学-计算机问题   计算机-冯诺依曼模型 软件工程-用工程的问题来开放软件 计算机思维: 数学为计算机提供理论和基础-现实问题->数学->计算机解决 计算机用特有的软件(编程范式:命令式 函数式)和硬件(硬件结构:冯诺依曼结构 哈佛结构) 软件框架:编程范式(命令式 函数式 逻辑式) 层次性(机器指令 汇编指