【java基础】初步理解面向对象、类、对象

一、简单理解面向对象:

  设想自己想吃美食:  

    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