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;
        }
    }
    万丈高楼平地起。
  • 相关阅读:
    sparql学习sparql示例、dbpedia在线验证
    中国绿卡
    逾期率的水有多深,你知道吗?
    ICO和区块链区别
    What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
    Link static data in sql source control
    sql data compare
    viewbag
    多态的实际使用
    win10 sedlauncher.exe占用cpu处理
  • 原文地址:https://www.cnblogs.com/jcl226/p/13058078.html
Copyright © 2011-2022 走看看