`
wddgfzs
  • 浏览: 2818 次
  • 性别: 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修饰。只有常量,没有变量。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics