欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

javase面向对象个人小总结,javase面向对象总结

来源: javaer 分享于  点击 9178 次 点评:193

javase面向对象个人小总结,javase面向对象总结


面向对象与面向过程

面向过程:把过程当作重点(注重的是步骤)

面向对象:把对象当成重点(重点在于这个对象)

什么是面向对象

把客观世界中的事物当成对象,把该对象所解决的实际问题,使用java代码来体现出来的过程(创建对象,寻找对象,使用对象)

什么是对象

就是客观世界中唯一存在的事物就是对象,所以可以说万物皆对象

对象的组成

属性,行为

理解为对象的模型(具有相同属性和行为的对象的集合的统称)

作用:用来创建无数的对象

组成:属性      ,    行为

成员变量       成员方法

成员变量:[修饰符] 数据类型 变量名;

成员方法:[修饰符] [跟返回值有关则有,无关则没有] 方法名(参数<有或者无>) {方法体}

如何创建对象

类名  对象名=new 类名();

如何给对象设置属性

对象名.属性名=值;

如何调用方法

对象名.方法名();

方法的重载:在同一类中,方法名相同,参数列表不同(个数不同,数据类型不同,顺序不同)

方法的重写:在继承的子类中,方法名相同,参数列表相同,返回值类型相同。

注:子类的方法修饰符要大于或等于父类的修饰符

全局变量和局部变量的区别

1,全局变量作用于整个类,局部变量仅仅作用于某个方法

2,全局变量可以用修饰符修饰,局部变量不能

3,全局变量可以与局部变量重名,值采用就近原则

全局变量:定义在类中的变量

局部变量:定义在方法中的变量

构造器

是特殊的方法,用来创建对象

格式:[修饰符] 构造器名(参数列表){...}(构造器名必须和类名一致)

当没有写构造器时,系统会自动提供一个无参的构造器,当写了构造器时,系统就 不会提供默认的构造器

有参构造器,为了给对象初始化属性值

static修饰符

1,修饰成员变量

类变量和实例变量的区别:

a,类变量使用了static修饰,实例变量没有用static修饰

b,类变量的值作用于整个类,实例变量仅仅作用于某个对象

c,类变量可以用对象名.变量名操作,也可以用使用类名.变量名操作

实例变量值可以使用对象名.变量名操作

2,修饰成员方法

类方法和实例方法的区别:

a,类方法使用了 static修饰,实例方法没有用static修饰

b,类方法值可以调用类变量和类方法,实例方法可以调用所有的变量 和方法

c,类方法可以使用对象名.方法名,也可以使用类名.方法名,实例方法 值可以使用对象名.方法调用

3,修饰代码块

静态代码块和普通代码块的区别:

代码块执行时要先于构造器,先执行静态代码块,然后执行普通代码块

注意:静态 代码块只在第一次撞见对象时执行,以后都不执行

访问修饰符:public protected 缺省的 private

作用:限制访问权限的

1,修饰成员变量和成员方法(构造器)

a,在本类中,可以访问所有属性和方法

b,在同包不同类中,值可以访问非私有的属性和方法

c,在不同包中,值可以访问公共的属性和方法

d,在不同包的子类中,可以访问公共的和受保护的属性和方法

2,修饰类 public 缺省的

a,在同包中的同类或不同类中,可以访问公共和缺省的类

b,在不同保重,之可以访问公共的类

面向对象的三大特征

封装,继承,多态

封装:把所有的属性私有化,提供公共的get方法和set方法,便于外界的操作

继承:子类继承父类的所有的非私有的属性和方法(为了省写代码,也是一种规 范)

继承是单继承,子类不能继承父类的构造器

方法的重写:由于从父类继承的方法不满足于子类的形式,所以要重写

this(当前对象)和super(父类对象)

this:1,当全局变量和局部变量重名时,可以用this来调用全局变量

 2,在同一个类中的构造器中,可以使用this来调用同类中的另外一个狗 在其,不再创建对象,仅仅执行方法体(this();放在第一行)

super:1,当子类的属性和方法与父类的属性和方法重名时,可以使用super 来调用被隐藏的父类的属性和方法,当子类对象创建时,系统会自 动调用父类的午餐构造器来创建一个父类对象与子类对象一一对应

    2,在子类的构造器中,可以用来置顶系统调用哪个父类的构造器来 创建父类对象与子类对象一一对应(必须放在第一行,并且父类一 般都要有一个无参的构造器)

如果一个方法的方法体无法确定时,可以把该方法定义为抽象的方法

抽象的方法没有方法体

格式: 修饰符 abstract 返回值类型 方法名();

如果一个类有抽象的方法,则该类一定是抽象类

抽象类=普通类+抽象方法;

抽象类不是具体的类,不能用来创建对象,可以用来被继承,如果一个类继承了抽 象类,则必须重写其所有的抽象方法

多态:一种事物的多种形态

1,方法的多态

a,方法的重载

b,方法的重写

2,变量的多态

a,向上转型(自动类型转换)

b,向下转型(强制类型转换)


a,父类定义的变量可以用来保存本身创建的对象,也可以用来保存子类创建的对 象,子类所扩展的属性和方法会消失,如果方法被重写,则执行重写后的方法

b,子类定义的比阿娘可以用来保存本身创建的对象,也可以用来保存父类创建的 对象,要先向上转型,然后才能想下转型

接口:抽象化的抽象类

[修饰符] interface 接口名{常量,抽象方法}

可以被继承(通常称为被实现)--->多实现接口

可以省略常量和抽象方法的修饰符

注意:要先继承,再实现

final修饰符:

1,修饰变量--->常量 不可被改变

2,修饰方法--->最终方法 不可以被重写

3,修饰类--->最终类  不可以被继承

4种内部类

1,成员内部类

a,成员内部类可以访问外部类的所有属性和方法(包含private)

b,创建内部类对象必须依赖于外部类对象

c,当外部类的属性和方法与内部类的属性和方法重名时,可以使用外部类类      名.this.属性/方法来调用外部类的属性和方法

外部类 外部类变量=new 外部类();

外部类.内部类 内部类变量=外部类变量.new 内部类();

2,静态内部类

静态内部类值可以访问外部类中的静态属性和方法

创建静态内部类对象时,不需要依赖于外部对象

3,局部内部类

4,匿名内部类

接口(抽象类) 变量=new接口(抽象类){重写接口(抽象类)的方法}

其中1和4比较常用!!




相关文章

    暂无相关文章

用户点评