面向对象的一些知识点整理

1.面向对象与面向过程

面向过程:是一种看待问题,解决问题的思维方式。着眼点在于问题是怎么样一步一步解决的,然后亲力亲为的去解决问题。

面向对象:是一种看待问题,解决问题的思维方式。着眼点在于找到一个能够帮助自己解决问题的实体,然后委托这个实体去帮忙解决问题。

2.使用面向对象的编程语言写出来的代码,不一定是面向对象的代码。

3.面向对象的案例:

<1>面向过程:①打开冰箱门 ,谁->我

                        ②把冰棍放进去 谁->我

                        ③关上冰箱门 谁->我

<2>面次对象:

                        ①打开冰箱门 ,谁->冰箱

                        ②把冰棍放进去 谁->冰棍

                        ③关上冰箱门 谁->冰箱

4.类和对象

对象:具有指定的功能,可以帮助解决问题的实体。

类:由若干个具有相同的属性和功能的对象组成的集合。

关系:类是对象的集合,对象是类的一个个体。

5.类的设计

在设计程序的时候,应该先写类,再从这个类中找到实体,实例化对象。

6.对象的实例化

实例化的过程,其实就是从一个类中找到一个个体。

Person xiaobai = new Person();

7.基本的成员访问

   访问类中的成员(属性和方法)

//实例化一个Person 对象

Person xiaobai = new Person();

//访问对象的属性

xiaobai.name = "小白";

xiaobai.age = "23";

System.out.println(xiaobai.name);

System.out.println(xiaobai.age);

//访问对象的方法

xiaobai.eat();

xiaobai.sleep();

8.静态与非静态

使用关键字static修饰的属性\方法,叫做静态属性\方法,

没有使用关键字static修饰的属性,方法叫做成员属性,成员方法。

静态的属性,static int num =10; 没有在堆上开辟空间,随着类第一次被加载到内存中的时候开辟空间,使用对象其实可以访问静态的属性,但是无论用到哪一个对象进行属性访问,最终访问到的,其实都是同一个变量。

静态与非静态的区别:

属性:静态属性是属于类的,需要通过类来访问;非静态属性是属于对象的,需要通过对象来访问。

方法:静态方法需要用类来调用,非静态方法需要用对象来调用。

而且在静态方法中,只能访问到当前类中的静态成员(属性,方法)

在非静态方法中,可以直接访问到当前类中的非静态成员(属性,方法),也可以直接访问静态成员。

9.this 关键字

在一个类中的非静态方法中(实例方法)中,使用this代表当前对象,因为实例方法需要使用对象调用,哪个对象调用这个方法,this就是谁。

10.构造方法

构造方法与普通方法的区别:

<1>语法不同:

①构造方法的名字必须与当前类名保持一致。

②构造方法不能使用其他的修饰符,例如:static

③构造方法没有返回值,这里的没有返回值,并不是说返回值的类型是void,而是返回值的类型都不能写。

<2>

执行的时机不同:

普通方法,可以随时调用。

构造方法,在实例化对象的时候调用执行的。

 

构造方法的使用场景

先了解什么叫对象的生命周期:从内存中的空间开辟开始,笼统的可以认为从构造方法开始,到方法解析结束,这个过程,称为对象的生命周期。

使用构造方法,一般情况下,是为了在实例化一个对象的同时,给这个对象的某一些属性进行初始化的赋值操作。

 

⭐构造方法的自动提供

如果一个类中,没有写构造方法,此时这个类会自动的包含一个public权限的无参构造方法,使得可以实例化这个类的对象。

如果一个类中,写了构造方法了。此时这个类将不再包含任何自动生成的构造方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值