Day08总结
一、面向对象和面向过程
从生活角度总结:
首先确立一件事物,然后在找具体的对象,比如说在用人方面,我只需要关注怎么来协调其他人来完成我要做的事情。
面向对象----à管理者:只需要找专业人士来做
需要明确人去做事的细节,关注点在于做每件事的过程上面
面向过程----à执行者:每件事情都需要自己亲力亲为
代码角度总结
面向过程:
面向对象:
二、java中的面向对象(类和对象)
Java属于一门纯面向对象语言
类:java中的类只是一个概念,主要是用来生产对象的,在类中有属性(变量)功能(方法),在一个.java文件中允许写一个或者多个class,但只允许有一个public类
对象:是实际存在的,通过class生成具体如下:
public class Summarize { public static void main(String[] args){ //创建一个计算机对象 Computer computer = new Computer();
//通过生成的对象调用计算机类中的功能 computer.playGame(); } } //创建一个计算机类 class Computer{ String cpu; String brand; int memory; String price;
public void playGame(){ System.out.println("我有一个打游戏的功能"); } } |
以上是在java中通过一个类创建一个对象的过程,我们可以看到类中主要定义计算机的一些属性,比如价格、cpu、内存、以及品牌,用方法定义计算机的打游戏功能,java中的类是一个引用类型
三、this以及封装
什么是封装:
封装有两层含义,一种是对功能的封装,一种是对属性的封装,功能就是类中的方法,属性就是类中的定义的变量
在java中我们一般会将类中的属性私有化,通过get和set方法来对属性进行赋值和获取值的操作,使用private将属性私有化起来,这样就能够更好的处理数据
this 的使用,我们通过将属性私有化之后,在赋值传入值的时候,就不能同名,那么就需要使用this来解决这一问题,详解如下图:
四、构造方法、局部变量成员变量
什么是构造方法:
在创建一个class的时候系统默认会生成一个无参的构造方法,并且和类名相同,构造方法不能有返回值类型
语法格式如下:
访问修饰符 类名(参数列表){
方法体;
}
构造函数的重载和调用:在构造函数中如果想调用构造方法需要用到this();且this();必须写在方法的最前面;如下:
//构造方法
public Computer(){
this("你好");//用于调用其他的构造函数
}
public Computer(String name){
this.name = name;
}
局部变量和成员变量:
成员变量:定义在类中,跟成员方法同级别
局部变量:方法的参数,或者定义在方法内的变量
(1),位置不同,导致作用域不同
(2),生命周期不同
(3),内存的位置不同(后面讲对象内存图时再讲)
(4),初始值不同,局部变量默认不给初始化,需要你自己去初始化,才能使用
(5),成员变量和局部变量同名的情况,属于优先级问题