一、面向对象思想
1、面向对象概述
当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。
可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了。这时就开始思索,
能不能把这些步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。
这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面向对象的思想。
2、面向对象思想特点
a:是一种更符合我们思想习惯的思想 懒人思想
b:可以将复杂的事情简单化
c:将我们从执行者变成了指挥者
角色发生了转换
3、面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
面向对象开发
就是不断的创建对象,使用对象,指挥对象做事情。
二、类与对象
定义类其实就是定义类的成员(成员变量和成员方法)
1.成员变量
和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
2.成员方法
和以前定义方法是一样的,只不过把static去掉。位置与成员变量一样。
3. 成员变量与局部变量的区别?
成员变量:定义在类中方法外的变量
局部变量:定义在方法中的变量,或形参
成员变量:存在堆内存,局部变量存在栈内存
局部变量:随着方法的调用而产生,随着方法的调用完毕而消失
成员变量:随着对象的创建而产生,随着对象被回收而消失
成员变量:属于对象 也叫做实例变量 局部变量:属于方法
局部变量没有默认值。成员变量有默认
类和对象的概念
a:类:是一组相关的属性和行为的集合
b:对象:是该类事物的具体体现
c:举例:
类 学生
对象 班长就是一个对象
类与对象的应用
定义一个手机类,并测试:
public class Phone {
private String Brand;
private String Model;
private String Colour;
private int Prince;
public Phone(){
}
public String getBrand() {
return Brand;
}
public void setBrand(String brand) {
Brand = brand;
}
public String getModel() {
return Model;
}
public void setModel(String model) {
Model = model;
}
public String getColour() {
return Colour;
}
public void setColour(String colour) {
Colour = colour;
}
public int getPrince() {
return Prince;
}
public void setPrince(int prince) {
Prince = prince;
}
public void Call(){
System.out.println("打电话");
}
public void sentMessage(){
System.out.println("发短信");
}
}
public class TestPhone {
public static void main(String[] args) {
Phone phone = new Phone();
phone.setBrand("iphone");
phone.setModel("11");
phone.setColour("Black");
phone.setPrince(6000);
System.out.println(phone.getBrand());
System.out.println(phone.getModel());
System.out.println(phone.getColour());
System.out.println(phone.getPrince());
phone.Call();
phone.sentMessage();
}
}
this关键字的概述和应用
为什么要有this
当我们的局部变量和成员变量相同的时候,如果我们不使用this关键字,那么会导致一个问题:就是局部变量隐藏了成员变量的问题
this关键字特点
是当前类的对象引用。简单的记,它就代表当前类的一个对象。谁调用这个方法,那么该方法的内部的this就代表谁
this的应用场景
解决局部变量隐藏成员变量