一、简单理解面向对象:
设想自己想吃美食:
1、如果是自己动手做的话,大致需要从准备材料、生火、煎炒油炸等一系列步骤(过程)
2、找到一家饭馆,只需下单,告诉店家你要吃什么(此时是别人帮你做出来了,然后享受你的美食即可)
很明显第2种会很省事,别人会帮你完成那些步骤,给你呈上现成的结果;
面向过程:强调步骤
面向对象:强调对象
二、类和对象
1、类:是一组相关属性和行为的集合,对某一类事物的描述(比较抽象)
如:猫
属性(是什么):名字、颜色、年龄等
行为(能做什么):喵喵叫、走、跑、睡觉等
2、对象:是一类事物的具体体现,对象是类的实例(比较具体)
如:加菲猫
3、定义一个类,用来模拟学生
属性(是什么):
姓名
年龄
行为(做什么):
吃饭
睡觉
学习
对应到java的类中:
成员变量(属性)
String name;
int age;
成员方法(行为)
public void eat(){} //注意:成员方法没有static关键字
public void sleep(){}
public void study(){}
public class Student {
//成员变量
String name;
int age;
//成员方法
public void eat() {
System.out.println("吃饭");
}
public void sleep() {
System.out.println("睡觉");
}
public void study() {
System.out.println("学习");
}
4、对象的使用
public static void main(String[] args) {
//创建对象:类名称 对象名 = new 类名称()
Student stu = new Student();
System.out.println(stu.name);//null,成员变量未赋值时,有默认值
System.out.println(stu.age);//0
//对象名.成员变量名
stu.name = "姜春蕾";
stu.age = 18;
System.out.println(stu.name);//姜春蕾
System.out.println(stu.age);//18
//对象名.成员方法名(参数)
stu.sleep();
stu.eat();
stu.study();
}
4.1对象类型同样可以作为方法的参数、返回值类型
a.先定义一个Phone类
public class Phone {
String brand;
double price;
String color;
public void call(String who){
System.out.println("给" + who + "打电话");
}
public void sendMessage(){
System.out.println("群发短信");
}
}
b.作为方法的参数
public class Demo06PhoneParam {
public static void main(String[] args) {
Phone one = new Phone();
one.brand = "Apple";
one.price = 5999.0;
one.color = "白色";
method(one);
}
//使用对象类型作为方法的参数
public static void method(Phone param){
System.out.println(param.brand);
System.out.println(param.price);
System.out.println(param.color);
}
}
c.作为返回值类型
public class Demo07PhoneReturn {
public static void main(String[] args) {
Phone two = getPhone();
System.out.println(two.brand);
}
public static Phone getPhone(){
Phone one = new Phone();
one.brand = "Apple";
one.price = 5999.0;
one.color = "白色";
System.out.println(one.brand);
return one;
}
}
原文:https://www.cnblogs.com/jcl226/p/13058078.html