`
wddgfzs
  • 浏览: 2909 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

面向对象学习笔记

阅读更多
理解
编程语言的发展:
机器语言、汇编语言、高级语言、面向对象语言

面向对象面向过程是在复用的层次上有区别:
 面向过程:在方法的层次上复用。
 面向对象:是隐藏了方法和这个类的细节,直接在整个对象层次上的复用。
合适的方法应该出现在合适的类里面

ppt内容
对象(object)和类(class)的概念
 对象用计算机语言对问题域中事务的描述,对象通过“属性(attribute)”和“方法(method)”来分别对象事务所具有的静态属性和动态属性。
 类是用于描述同一类型的对象的一个抽象概念,类中定义了这一对象所应具有的静态属性和动态属性。
 类可以看成一类对象的模板,对象可以看成类的一个具体实例(instance)。
理解
类是对象的抽象,对象是类的实现。

ppt内容
关系:
关联关系、继承关系、聚合关系{松耦合:聚集、紧耦合:组合}、实现关系{接口(interface)}
多态

理解
面向对象
1.对于一个问题有哪些类,哪些对象
2.这些类,这些对象应该具有哪些属性和方法
3.类和类之间具备怎样的关系

成员变量和局部变量
局部变量先声明后赋值再使用,如果没有赋值会报错。
成员变量没有赋值不会报错。因为默认初始化
byte 0 short 0 int 0 long 0L char ‘\u0000’(unicode 0) float 0.0F double 0.0D boolean false 所有的引用类型都是null

引用
Java语言中除了基本类型之外的变量类型都称之为引用类型。
引用类型占两块内存。栈内存指向堆内存。局部变量都会在栈内存中,方法执行结束后栈中内存清空,对象存放在堆内存还在。
new出来的装在堆内存。所以的引用类型都是指针。

PPT内容
1. 必须使用new关键字创建对象
2. 同一类的每一个对象有不同的对象存储空间。
3. 同一类的每一个对象共享该类的方法。
构造方法(构造函数)
new 一个对象的时候,调用的方法。
和类同名没有返回值

命名规则
1. 类名首字母大写
2. 变量名和方法名的首字母小写
3. 运用驼峰表示

方法重载(overload)
PPT内容
方法的重载是指一个类中可以定义有相同名字、返回值,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。
构造方法也可以重载。

非静态方法是针对每个对象进行调用。(XX.方法)

this关键字
 在类的方法定义中使用的this关键字代表该方法的对象的引用
 当必须指出当前使用方法的对象是谁的时要使用this
 有时使用this可以处理方法中成员变量和参数重名的情况
 this可以看做是一个变量,它的值是当前对象的引用

static关键字
 在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static的成员变量只有一份。
 用static声明的方法为静态方法,在调用方法时,不会将对象的引用传递给它,所以在static方法中不可以访问非static成员。
静态方法不再是针对某个对象调用,所以不能访问非静态成员
 可以通过对象引用或类名(不需要实例化)访问静态成员。

静态变量存放在数据区。static 存放在data seq
任何对象都可以访问静态对象。没有对象也可以访问类名加”.”也可以访问。
static就相当于一类事物的全局变量。

package com.xx 公司域名倒过来
java.lang 里面的类不需要引入,直接使用
继承和权限控制
 在java中使用extends关键字实现继承机制
 通过继承子类自动拥有父类所有的成员(成员变量和方法);
 一个子类只能有一个基类,一个基类可以派生出多个子类。
修饰符 内部类 同一个包 子类 任何地方
private Yes
default Yes Yes
protected Yes Yes Yes
public Yes Yes Yes Yes

重写(overwrite/override)
ppt内容
在子类中可以根据需要把从父类继承来的方法进行重写。
重写的方法必须和被重写的方法具有相同的名称、相同的参数列表和相同的返回值类型。
重写方法不能够使用比被重写方法更严格的访问权限。

super关键字
在java中使用super来引用基类的成分

继承中的构造方法
子类的构造方法必须调用父类的构造方法
子类可以在自己的构造方法中使用super(argument_list)调用其基类的构造方法
使用this(argument_list)调用本类的另外的构造方法。
如果子类的构造方法中没有显式地调用基类构造方法,则系统默认调用基类无参数构造方法。
如果基类构造方法中既没有显式地调用基类构造方法,而基类中又没有无参数构造方法,则编译出错。

对象转型(casting)
一个基类的引用类型变量可以指向其子类的对象。
一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
可以使用引用变量(instanceof类名)来判断该引用类型变量说“指向”的对象是否属于该类或该类的子类。
子类的对象可以当做基类的对象使用,称作向上转型(upcasting);反之,称作向下转型(downcasting)

动态绑定/多态
动态绑定是指在执行期间(而非编译期间)判断说引用对象的实际类型,根据其实际类型调用其相应的方法。
1. 要有继承
2. 要有重新
3. 父类引用指向子类对象

抽象类(abstract关键字)
用abstract关键字修饰一个类的时候,这个类叫做抽象类;用abstract关键字修饰一个方法的时候,这个方法叫做抽象方法。
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
抽象类不能被实例化。
抽象方法只需要声明,不需要实现。

final关键字
final的变量的值不能够被改变
final的方法不能被重写
final类不能被继承。

interface接口
接口(interface)是抽象方法和常量值定义的集合
从本质是将,接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义,而没有变量和方法的实现。
接口特征
 多个无关的类可以实现同一个接口
 一个类可以实现多个无关的接口
 与继承关系相似,接口与实现类直接存在多态性
 接口中的声明属性默认值为public static final,也只能是public static final。
 接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的。
 接口可以继承其他接口,并添加新的属性和方法。

理解:
接口可以多继承,static修饰。只有常量,没有变量。
分享到:
评论

相关推荐

    javascript面向对象学习笔记

    JavaScript是一种基于原型和函数式编程的动态类型语言,面向对象编程是其核心概念之一。本文将深入探讨JavaScript中的面向对象编程,主要关注类、对象、以及实现继承的几种模式。 首先,我们来看对象的创建。在...

    面向对象学习笔记········

    本学习笔记将深入探讨面向对象的基本概念、原则以及常见设计模式。 1. **基本概念** - **对象**:对象是类的实例,具有属性(数据成员)和方法(函数成员)。对象是现实世界中的实体在程序中的抽象。 - **类**:...

    es6面向对象学习笔记整理版.md

    md文件,可用Typora软件打开编辑。### 1....- ###### 面向对象编程OOP(Object Oriented programming) - 含义:把事务分解成一个个对象,通过对象之间分工与合作解决;(**拟人化,把万物写活**)

    C++面向对象学习笔记

    C++是一种支持面向对象编程(OOP)的高级编程语言,其面向对象特性包括类、对象、封装、继承和多态。本篇笔记主要探讨了C++程序在内存中的存储方式,即内存分区模型,包括代码区、全局区、栈区和堆区。 1. **内存...

    PHP_OOP面向对象课堂笔记

    PHP_OOP面向对象课堂笔记,最简洁明白易懂的面向对象笔记,欢迎下载!

    java基础(超详细。。学习笔记) 公司内部资料!保密哦!!!

    Java是一种广泛使用的面向对象编程语言,其核心特性包括强大的类型系统和丰富的库支持。在Java中,学习基础知识是成为熟练开发者的关键步骤。本篇学习笔记将深入探讨Java的基础概念,主要包括初始化、数据类型、对象...

    Java面向对象编程学习笔记.pdf

    "Java面向对象编程学习笔记.pdf" Java面向对象编程学习笔记是Java程序设计语言中面向对象编程(Object-Oriented Programming,OOP)的一份学习笔记。面向对象编程是一种软件设计方法,它强调使用对象和类来模拟现实...

    Java学习笔记-面向对象-001-面向对象概括

    同时,阅读优秀的Java学习笔记和参考书籍,参与在线社区和论坛讨论,都可以帮助你加快学习进度,提高编程技能。在Java的世界里,不断探索和实践,你将能够构建出高效、可靠的面向对象软件系统。

    JAVA的面向对象编程笔记(经典)

    Java面向对象编程笔记 本文主要介绍了Java面向对象编程的基本概念和原则,包括对象、类、继承、多态、封装、抽象等概念的定义和解释,并通过实例讲解了面向对象编程的思想和方法。 一、什么是对象? 在面向对象...

    JAVA的面向对象编程学习笔记

    JAVA的面向对象编程学习笔记

    UML-面向对象建模笔记

    **UML(Unified Modeling Language)**,统一建模语言,是一种在...而"友情提示.txt"和"UML面向对象建模笔记"很可能是学习过程中的辅助资料,可能包含了对UML建模的详细解释和实例分析,对于理解和掌握UML非常有帮助。

    PHP面向对象学习笔记之一 基础概念

    本次学习笔记着重讲解PHP面向对象编程的基础概念。 首先,我们来理解一些基础的编程逻辑。在PHP中,if语句用于进行条件判断。特别的,if("false")与if(true)在逻辑上是等效的,因为在PHP中非空字符串总是被视为true...

    c#面向对象基础学习笔记-配套传智播客视频

    根据提供的文件内容,本文将对C#面向对象的基础知识点进行详细的阐述与解析。...通过这些基本概念的学习,可以帮助开发者更好地理解和掌握面向对象编程的思想,从而编写出更加健壮和易于维护的代码。

    PHP面向对象学习笔记之二 生成对象的设计模式

    【PHP面向对象设计模式详解】 在PHP编程中,面向对象设计模式是一种常用的设计思路,能够帮助我们编写可扩展、可维护的代码。本篇笔记主要探讨两种常见的设计模式:单例模式和工厂方法模式。 **一、单例模式** ...

    面向对象程序设计C++听课笔记

    以上就是“面向对象程序设计C++听课笔记”的主要内容,涵盖了C++中的核心面向对象概念及其在实践中的应用,对学习和理解C++编程有着重要的指导意义。通过深入学习和实践,可以提升软件开发的能力,更好地应对复杂的...

    C++学习笔记- 面向对象 .md

    C++学习笔记,博主个人向。内容是C++面对对象的,目录大致来源于菜鸟文档的C++面向对象,笔记是参考各种文章以及菜鸟文档改编的,内容包含C++类和对象(类定义和对象定义,类成员函数,类访问修饰符,友元函数,内联...

    WI TWO 淘宝分享Java面向对象编程(孙卫琴)_学习笔记

    Java面向对象编程是Java开发中的核心概念,由孙卫琴老师讲解的这门课程深入...以上只是部分Java面向对象编程的关键知识点,实际学习中,还需要结合实例深入理解和实践,以便更好地掌握这些概念并在实际开发中灵活应用。

    Java学习笔记,面向对象初步

    Java学习笔记,面向对象初步

Global site tag (gtag.js) - Google Analytics