面向对象与面向过程
面向过程:线性思维,事物比较简单
面向对象:简单的线性思维无法解决,利用大局思维找一个能解决该问题的对象去解决问题,比如之前的键盘录入就是找到Scanner去解决问题。面对对象方便从宏观上管理,具体实现还是面向过程的方式。
对象和类的关系:
类是抽象的,类是确定对象会拥有的特征(属性)和行为(方法),它不是具体客观存在的东西,不占内存空间
对象是客观存在的,可以看成类的具体实现,拥有类的属性和功能;占有内存空间;
生活中定义一个水果类,那么苹果、梨子、火龙果等等就是它实例化的对象。
特殊(对象)到一般(类),具体(对象)到抽象(类)
如何定义一个类:
1、要确定描述的哪个对象,给类取一个名字并且见名知意,符合驼峰原则
2、抽离这个对象群体的共性(特殊到一般)然后用代码描述出来
2.1、属性描述为成员变量
2.2、能力描述为方法
练习:定义一个类描述学生这个群体
1、确定描述那个群体对象 然后取一个合适的名字 Students
2、抽离这个群体对象的共性,不针对特殊点,然后用代码描述出来
共性:名字 年龄 身高 体重 学号
吃饭、学习
public class Student {
String name;
int age;
int id;
int height;
int weight;
//学习
public void study() {
System.out.println("我爱学习");
}
//吃饭
public void eat(){
System.out.println("我要吃米饭");
}
}
如何创建对象?
先编写类,再由类取创建对象;
格式:new 构造器【实参】;这就创建了一个对象,可以接收也可以不接收
构建对象并接收对象:格式:xx类 变量 = new xx类()
//接上面的代码
public class Test{
public static void main(String[] args){
Students student = new Students();
student.name = "张三";
student.age = 18;
student.id = 2014325;
student.height = 170;
student.weight = 70
student.study();
student.eat();
System.out.println(student.name);
System.out.println(student.age);
System.out.println(student.id);
System.out.println(student.height);
System.out.println(student.weight);
}
}