`
oywl2008
  • 浏览: 1069191 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java面向对象

 
阅读更多

Java面向对象

 Java_面向对象

  面向对象:

  面向对象是相对于面向过程的一种编程思想,它是基于面向过程的。

  面向过程:侧重于完成功能的过程。

  面向对象:侧重于完成功能的结果,强调的是对象。

  三个思想特点:

  a:更符合人思考习惯的一种思想。

  b:把复杂的事情简单化。

  c:把程序员从执行者变成指挥者。

  类与对象:

  编程语言都是为了把现实世界的事物给体现出来的,所以编程语言就应该和现实世界的事物对应。

  现实的事物分为两种:

  内在的特征:对应类的成员变量。

  外在的行为:对应类的成员方法。

  类:

  是一组相关的属性和行为的抽象。

  类的组成:

  成员变量:名词

  来自于现实世界的中的属性的一种抽象描述。

  构造方法:

  用于创建对象,对对象进行初始化

  特点:

  a :方法名于类名相同。

  b:方法没有返回值类型。

  c:方法没有返回值。

  注意:

  a:系统默认给出一个无参构造方法。

  b:自己给出构造方法,系统将不在提供。

  c:可以通过构造方法,给成员变量赋值。

  成员方法:名词+动词

  完成一些功能。

  对象:

  对象是类事物的具体的个体,也被称为实例。

  首先把事物的特征和行为体现出来,把事物转换成Java中的类,最后创建对象调用。

  应用场景:

  创建对象:类名 变量名 = new 类名();

  调用对象:对象名。方法();    对象名。变量;

  匿名对象:

  没有名字的对象。

  应用场景:

  a:调用方法只用一次的时候(可提升效率)。

  b:作为实际参数传递。

  局部变量与成员变量的区别:

  在类中的位置:

  成员变量:在类中,方法外。

  局部变量:在类的方法中。

  在内存中的位置:

  成员变量:在堆中。heap

  局部变量:在栈中。stack

  生命周期:

  成员变量:随着对象创建而存在,随着对象消失而消失。

  局部变量:随着方法调用存在,随着方法调用完毕而消失。

  初始化值:

  成员变量:有默认初始值。

  基本数据类型:

  整型:0

  浮点:0.0

  char:'\u0000'

  引用类型:null

  局部变量:必须先声明,再赋值,最后才能被使用。

  面向对象三大:

  1,封装:

  隐藏实现的细节,仅对外提供公共的访问方式。

  体现形式:

  a:类

  b:方法

  c:被private修饰也是封装的体现。

  2,继承:

  在已知类的基础上扩充新的内容。

  extends表示继承的关系。class B extends A{}

  父类的定义:

  是多个类中相同的成员变量和成员方法抽取出来的。

  特点:

  a:java中只能单继承。

  b:java中可以多层继承(体系)。

  优点:

  a:提高了代码的复用性。

  b:让类与类产生了联系,是多态的前提。

  应用场景:

  a:继承表达的是一种关系:is  a .

  b:不要为了部分功能而去继承。

  继承后父子之间的成员关系:

  成员变量:

  a:如果名字不同,直接调用本类的。

  b:如果名字相同的变量,在方法中使用的时候:

  先在局部范围查找,有就使用,

  然后成员位置查找,有就使用,

  最后在父类成员查找,有就使用,

  再没有就报错。

  构造方法:

  a:子类并没有继承父类的构造方法。

  b:子类的构造方法执行前,会先执行父类的构造方法。这个时候,并没有创建父类对象,仅仅是对父类的内容进行了初始化。

  注意:如果在父类中没有无参构造,在子类中要么用this(…),要么用super(…) .

  成员方法:

  a:如果名字不同,直接调用本类的。

  b:如果有名字相同的方法,是重写的形式(覆盖、复写)。子类使用的是自己的方法,覆盖父类的方法。

  方法重写:

  override,子类与父类方法声明相同。

  体现形式:

  a:方法名相同,参数列表相同。

  b:子类返回值类型小于等于父类返回值类型。

  c:子类访问权限修饰符大于等于父类访问权限修饰符。

  注意:

  a:父类的私用方法不能被重写。

  b:静态方法只能被静态方法重写。

  方法重载:

  overload,方法名相同,参数列表不同。

  体现形式:

  a:方法名,参数列表不同。

  b:与返回值类型无关。

  c:与返回值无关。

  this与super的区别:

  this:代表当前类的对象,谁调用,就代表谁。

  super:代表父类存储空间标识,父类的引用。

  应用场景:

  一般都在子类使用。

  成员变量:

  this.变量

  super.变量

  构造方法:

  this.(…)

  super.(…)

  成员方法:

  this.方法()

  super.方法()

  类的初始化:

  Person p=new Person();

  a:把Person.class类加载到内存。

  b:执行该类中的静态代码块,如果有,给Person.class进化初始化。

 

c:在栈内开辟存储变量p的空间,分配内存地址。

  d:在堆内开辟new Person()的空间。

  e:对成员变量进行默认初始化。

  f:对成员变量进行显示初始化。

  g:如果有构造代码块,通过它对成员变量进行初始化。

  h:通过构造方法对成员变量初始化。

  i:对象创建完毕,把堆内存的地址值赋给栈内存中的变量p.

  3,多态:

  同一个对象在不同的时刻表现出不同的状态,编译期类型与运行期类型不一致。

  根据实际的对象不同而表现出的不同状态。

  前提:

  a:有继承或实现关系。

  b:有method override.

  c:有父类或父接口引用指向子类对象。

  弊端:

  不能使用子类特有的功能。

  优点:

  提高了程序的扩展性与维护性(由继承来保证)。

  向上转型:

  把子类对象赋值给父类对象或父接口引用。

  向下转型:

  把父类或父接口引用强制转换为子类

  体现形式:

  a:具体类多态

  b:抽象类多态

  c:接口多态

  抽象类:

  多个具体的事物具备相同的方法声明,而方法体不同,抽取方法声明,定义到一个类中。

  一个没有方法体的方法是一个抽象方法,一个类有抽象方法,该类必须定义为抽象类。

 

http://www.examw.com/java/jichu/204198/index.html

 

 

分享到:
评论

相关推荐

    java面向对象编程源码

    本书内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化 Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理。...

    java面向对象编程pdf

    Java面向对象编程PDF 在这篇文章中,我们将对Java面向对象编程的基础知识进行总结和解释。面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将程序设计看作是对象的交互,对象之间的关系和行为...

    Java面向对象程序设计耿祥义版课件

    Java面向对象程序设计是编程领域中的核心概念,尤其在企业级应用开发中占据了主导地位。耿祥义版的课程着重讲解了这一主题,通过PPT和源码的形式,旨在帮助学习者深入理解并掌握Java的面向对象特性。下面将详细阐述...

    Java面向对象程序设计

    Java面向对象程序设计是编程领域中的重要主题,尤其在企业级应用开发中占据主导地位。本教程涵盖了这一关键概念,旨在帮助学习者深入理解和掌握Java的面向对象特性。以下是相关知识点的详细说明: 1. **面向对象...

    Java面向对象程序设计课后答案全解

    Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)原则,为开发者提供了构建复杂软件系统的方法。本资源包含了该课程所有章节的课后习题答案,帮助学习者深入理解Java语言的面向对象...

    Java面向对象程序设计+源代码+课后习题答案)

    Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)的概念,是一种强大的编程范式。在Java中,OOP的核心概念包括类、对象、封装、继承、多态等。这本书"Java面向对象程序设计"由耿祥义和...

    Java面向对象应用程序开发

    Java面向对象应用程序开发是软件开发领域中的核心主题,尤其对于初学者和专业开发者而言,理解并掌握这一技术至关重要。Java语言以其强大的面向对象特性、跨平台兼容性以及丰富的类库,成为了开发各种类型应用程序的...

    《Java面向对象编程》电子书+实例源代码+课后题答案.part10

    后续分卷改名为《Java面向对象编程相关资源》大家下载后要记得把压缩包改回原来的名字以便解压(如:Java面向对象编程相关资源.part11.rar--->Java面向对象编程书+实例源代码+课后题答案.part11.rar)。

    Java 面向对象 练习题与答案

    Java 面向对象编程练习题与答案 本资源摘要信息涵盖了 Java 面向对象编程的多个知识点,包括 Font 类、Toolkit 类、包机制、抽象类、数组操作等。 1. Font 类: Font 类是 Java 中的一个类,用于设置程序中的字体...

    JAVA面向对象程序设计(期末考试试题及答案)

    JAVA面向对象程序设计知识点总结 JAVA面向对象程序设计是 Java 编程语言的核心 contents,涵盖了面向对象编程的基本概念、语法规则、编程技术和实际应用等方面的知识。本文总结了 JAVA面向对象程序设计的知识点,...

    Java面向对象编程练习题.pdf

    Java面向对象编程练习题 本资源摘要信息涵盖了 Java 面向对象编程的基础知识,通过三个练习题,展示了 Java 编程语言的基本概念和应用。 练习题 01: 类的成员变量 本练习题展示了 Java 中类的成员变量的概念。类 ...

    Java面向对象程序设计(第二版)

    不过,我可以基于《Java面向对象程序设计(第二版)》这个标题和标签,来详细说明Java面向对象程序设计中可能涵盖的知识点。 在深入介绍之前,首先需要明确面向对象程序设计(OOP)是一种编程范式,它使用“对象”...

    习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf

    Java面向对象程序设计是计算机科学中的一个重要主题,尤其在Java编程中。邢国波的《Java面向对象程序设计》一书旨在帮助读者理解和掌握Java语言的核心特性,特别是面向对象编程的概念。以下是根据提供的内容和标签...

    《Java面向对象程序设计(第2版)》课件

    Java面向对象程序设计是计算机科学中的一个重要领域,尤其在软件开发中占据核心地位。第二版的《Java面向对象程序设计》课件旨在深入浅出地介绍这一关键概念,帮助学习者掌握Java语言的基础以及面向对象编程的核心...

    java面向对象课程设计(有程序和报告)

    Java面向对象课程设计是计算机科学领域中一个重要的实践环节,旨在帮助学生深入理解面向对象编程的概念和技巧。在这个课程设计中,学生通常会被要求完成一个实际的项目,使用Java语言来实现,同时需要提交详细的报告...

    Java面向对象知识点梳理(思维导图)

    资源描述:Java面向对象知识点的思维导图 内容概要: 这个资源是一个Java面向对象知识点的思维导图,它涵盖了Java中面向对象编程的核心概念和重要知识点。导图中包含了类、对象、继承、多态、封装等基本概念,同时...

    Java面向对象逻辑思维导图

    Java面向对象,自己学习整理的Java的面向对象的思维导图。

    java面向对象课后题答案

    Java面向对象编程是Java语言的核心特性,它基于面向对象编程思想,使得代码更易于理解和维护。孙卫琴老师的《深入浅出Java面向对象》是一本深受程序员喜爱的教材,其中的课后习题旨在帮助学生深入理解面向对象的原理...

    Java面向对象程序设计(第3版)-PPT课件

    《Java面向对象程序设计(第3版)》是人民邮电出版社出版的一部经典教材,由杨晓燕和李选平两位专家共同编著。该书深入浅出地讲解了Java编程语言的核心概念和面向对象编程思想。PPT课件是教学辅助资料,通常包含了...

Global site tag (gtag.js) - Google Analytics