面向对象知识总结

面向对象:对于面向对象的思想,强调的是对象

特点:

面向对象是一种常见的思想,符合人们的思考习惯

面向对象的出现,将复杂的问题简单化

面向对象的出现,让曾经在过程中的执行者编程了对象中的指挥者。

面向对象的三个特征:封装、继承、多态

用java语言对显示生活的事物进行描述,通过类的形式来体现

只要明确事物的两个方面:一个是属性一个是行为

对象其实就是该事物实实在在存在的个体

类与对象之间的关系

类:对事物的描述

对象:该类事物的实例,在java中用new来创建

成员:成员函数 成员变量

定义类其实就是在定义类中的成员,成员变量也就是对应类中的属性,成员函数对应的就是成员的行为

变量:局部变量和成员变量

成员变量和局部变量的区别

第一:成员变量定义在类中,整个类中都可以访问

局部变量定义在函数,局部代码块中,只在所属区域中有效

第二:存放位置不同,成员变量存在于堆内存中,局部变量存在于栈内存中

第三:成活时间不一样

成员变量随着对象的创建而出现,随着对象的消失而消失,随着所属区域的执行而执行

第四:成员变量都有默认初始化,局部变量没有默认初始化

匿名对象可以作为实际参数进行传递

封装:隐藏对象的属性和实现细节,仅仅对外提供访问方式

好处:将变化隔离 提高代码 方便于使用

私有只是封装的一种表现形式 

构造函数

函数名必须与类名相同

不用定义返回值类型

没有具体的返回值

构造函数的作用是给所有对象进行初始化

构造函数和一般函数的区别

构造函数在对象以创建,就会给相应的对象进行初始化

一般函数只有被调用才执行

构造函数只能调用一次

一般函数可以被调用多次

静态的特点

静态是一个修饰符,用于修饰成员

静态修饰的成员被所有的对象共享

静态优先于对象存在,因为静态的成员随着类的加载而存在

静态修饰的成员多了一种调用方式,可以直接被类名调用

静态修饰的数据时共享数据,对象中存储的是特有数据

成员变量和静态变量的区别

1.存储的位置不同 

成员变量存储在堆内存中,静态变量存储在方法区中

2.生命周期不同

成员变量随着对象的创建而加载,随着对象的消失而被释放

静态变量随着类的加载而加载,随着类的消失而消失

3.调用方式不同

成员变量通过对象来调用,而静态变量除了对象调用以外还多了一种调用方式 直接用类名来调用

4.别名不同

成员变量也叫实例变量 静态变量也叫类变量

静态什么时候使用呢?

静态变量:当分析对象中所举办的成员变量的值都是相同的时候,可以将变量静态

静态函数:看函数是否有访问到对象中的特有数据

静态代码块 随着类的加载而加载 而且只执行一次 作用是给类进行初始化

构造代码块 用来给对象进行初始化

子父类的构造函数

在子类创建对象的时候,发现访问子类构造函数时,父类也运行了,原因是在子类构造函数中有一个隐式语句super();

调用的是父类空参数构造函数

子类的实例化过程

子类中所有的构造函数都会访问父类中的空参数构造函数

Final关键字

继承的弊端 打破了类的封装性

它是一个修饰符 不可以被继承 不可以被覆盖 只是一个常量 只能被赋值一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值