面向对象基础知识(部分)

什么是面向对象思想?有什么特点?

在要求众多,单一进行一步一步的操作显得效率很低,而面向对象思想则是将相似的功能进行封装,在需要执行此项功能时只需找到对应的类。
其特点是:符合人为的思想习惯,可以将复杂的事情简单化,是人从执行者变为指挥者。

类与对象

  • 类:是一组相关的属性和行为的集合
  • 对象:是该类事物的具体体现
    类的成员包括成员变量和成员方法

例 学生为一个类 ,学生的名字就是类的成员变量,学生可以学习,打游戏就是类的成员方法。

创建一个类

A:文件名问题 在一个java文件中写两个类:一个基本的类,一个测试类。 建议:文件名称和测试类名称一致。
B:如何使用呢? 创建对象使用。
C:如何创建对象呢? 格式:类名 对象名 = new 类名();
D:如何使用成员变量呢? 格式:对象名.变量名
E:如何使用成员方法呢? 格式:对象名.方法名(…)

  • 成员变量和局部变量

1.成员变量作用在类内方法外,局部变量在方法定义或方法声明上。
2.成员变量在堆内存,局部变量在栈内存。
3.成员变量随方法创建而创建,随方法消失而消失。局部变量则是调用时产生,调用完便消失。
4.成员变量有默认初始值,局部变量没有默认初始值,需要赋值。

  • 形式参数

基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数

  • 匿名对象

就是没有名字的对象,仅仅在只调用一次的时候使用匿名对象,也可以作为实际参数传递。

  • 封装

其是将对象的属性和细节隐匿起来,只对外提供访问方式。
其特点是提高复用性,提高安全性,对一些特殊的成员变量和成员方法隐藏具体的实现细节,只提供访问方式。

  • private

权限修饰符,可以修饰成员变量和成员方法,在被private修饰后的成员变量和成员方法只能在本类内进行访问。
当外部想访问被private所修饰的成员变量时,提供对应得setxxx()和getxxx()来进行访问。

  • this指针

在成员变量和局部变量名相同时,可能会遇到将局部变量调用,而非调用所需要的成员变量。使用this的话可以避免此类情况发生。
谁调用this,this 就代表谁。

  • 构造方法

其作用是创建一个对象,对对象内的成员进行初始化。
其方法名与类名相同,没有返回值类型和具体的值。
构造方法的重载:
分为无参构造和有参构造,如果没有给出构造方法,系统会自动生成一个无参构造方法。
在给成员变量赋值时可以采用构造方法,也可以用setxxx()。

  • static

被static所修饰的变量或者方法称为,静态变量,静态方法。
其随类的加载而加载,先于类对象执行,被该类内所有的对象所共享。
静态方法只能访问静态成员变量和静态成员方法,但非静态可以访问静态也可以访问非静态。
static与this的区别:
静态是随着类的加载而加载
this是随着对象的创建而创建。

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

静态变量属于类,成员变量属于对象。
静态变量存储在方法区的静态区,成员变量存储在堆内存
静态变量随着类加载而加载,消失而消失。成员变量随对象的创建而创建,消失而消失。
静态变量可以通过类名调用,也可以通过对象调用,但成员变量只能通过对象名调用。

  • 代码块

其可以分为局部代码块,构造代码块,静态代码块,同步代码块。
常用的是:
1.局部代码块:在方法中出现,用完便释放,提高内存效率
2.静态代码块:在类中方法外出现,用于初始化类,只执行一次。
3.构造代码块:在类中方法外出现,每次调用构造方法都执行,执行在构造方法前。

  • 继承

多个类拥有相同的成员变量或者方法时,可以通过继承的方式从其中的一个类中继承到自身即可,自身不需要在写这些相同的成员变量和方法。
格式为:
class 子类名 extends 父类名 {}
JAVA中只支持单继承,不支持多重继承
支持多层继承。
在继承的过程中,子类只能继承父类的共有成员,不能继承私有成员。

  • super和this的区别

super是局部范围访问父类成员变量
this只能是本类对象的引用,而super是可以引用父类对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值