面向对象总结(一)

  1. 面向过程和面向对象
    面向过程:注重过程,代表性语言C语言
    面向对象:注重对象,从宏观上把握整件事情,代表性的语言java语言
    都是解决问题的思维方式,只不过是考虑问题的角度不同

  2. 类和对象
    类:类是对对象的抽象,模子,图纸
    对象:对象是对类的具体描述,月饼,楼房

  3. 类的成员:成员变量(属性),方法,构造器,代码块,静态代码块,内部类
    成员变量:定义在类的内部方法的外部的变量
    作用域:整个类
    内存:堆内存中
    生命周期:对象产生则成员变量产生,对象消亡则成员变量消亡
    局部变量:定义在方法的内部的变量
    作用域:方法里
    内存:栈内存
    生命周期:方法调用的时候产生,方法结束则消亡

    成员变量和静态成员变量:
    成员变量归属于对象,而静态成员变量归属于类
    成员变量通过对象调用,而静态变量可以通过对象调用,也可以通过类名调用,推荐使用类名调用
    成员变量的生命周期随对象的产生而产生,随对象的消亡而消亡;静态变量归属于类,所以只要类存在,那么静态变量就存在
    内存:成员变量存放在堆内存,而静态变量存放在方法区

    方法:
    方法的重载、方法的重写
    重载:同一个类中,方法名一样,参数列表不一样(参数的个数不一样或参数的类型不一样)
    如果两个方法只有返回类型不一样,不构成重载
    重写:继承类中出现,方法名一样,形参列表一样
    返回类型、异常:子类小于等于父类
    修饰符:子类不能比父类更严格(private>default>protected>public)

    构造器:
    new对象的时候自动调用
    无参构造器、有参构造器
    默认情况下,系统会自动提供一个无参构造器,但是,一旦人为的定义了构造器,那么,系统就不再提供构造器了
    如果用private修饰构造器,表示不能在该类外创建对象了

    代码块,静态代码块:先于构造器调用
    代码块{}:一般用于提取多个构造器里的重复代码,归属于对象,用的较少
    静态代码块static{}:一般用于对静态属性进行初始化,归属于类,较常用

4.super和this
super:代表父类对象的引用
this:代表当前对象的引用
共同点:
都是对象的引用,都可以调用属性、方法、构造器
在构造器中使用的时候,都必须出现在第一行
在静态方法中都不能使用
在内存中,创建一个对象的时候,里面都有this和super
注意:
this和super不能在构造器中同时使用

5.面向对象的三大特征:
封装:隐藏
好处:安全,简单
private:仅在本类中可见
default:只要是同一个包下,都可见
protected:本类可见,本包可见,其它包下的子类可见
public:同一个项目中可见
属性、方法、构造器:四个都行
类:public和default可以修饰,其它的不行
继承:
好处:减少代码量,代码的复用
可以继承的成员:属性,方法可以被继承,但是构造器不能被继承
public修饰的都可以继承
default修饰的同一个包里的可以继承
protected修饰的不同包也可以继承
private修饰的一定不能继承
多态:
好处:减少代码量,提升扩展性
多态的条件:
继承、重写、父类的引用变量指向子类对象
多态的应用:工厂设计模式
6. static的用法
可以修饰属性、方法
一般来说,static修饰属性的时候表示该属性被多个对象共用,常常跟final配合使用,用来声明常量
public static final double PI = 3.14;
static修饰方法一般用在工具类中,该方法将来可以通过类名来调用,使用较为简单
注意:静态方法中只能调用静态的成员(属性和方法),不能调用非静态的属性,也不能使用this和super
7. final关键字
可以修饰类、属性、方法
修饰类表示该类不允许被继承
修饰属性表示该属性是常量,值不允许改变
修饰方法表示该方法不允许被重写,但是可以被继承来用
不能用final修饰构造器

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值