zoukankan      html  css  js  c++  java
  • 【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;
        }
    }
    万丈高楼平地起。
  • 相关阅读:
    Python2的object和type
    str函数
    关于Python IDLE reload(sys)后无法正常执行命令的原因
    str和unicode类
    https://www.zhihu.com/question/31110175
    Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别
    正则表达式
    StringBuffer类
    String类
    抽象类、接口作为方法返回值和参数
  • 原文地址:https://www.cnblogs.com/jcl226/p/13058078.html
Copyright © 2011-2022 走看看