栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面向对象学习笔记1(java)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面向对象学习笔记1(java)

面向过程和面向对象的设计思想
  • 面向过程:procedure orientd progamming 缩写 POP

    • 分析出解决问题所需要的步骤,然后把步骤一步一步实现

    • 面向过程编程直接关注流程

  • 面向对象:object oriented programming 缩写 OOP

    • 以分类的方式进行思考和解决问题

    • 面向对象先对整体关系作出分类,然后根据不同的类深入细节的处理

  • 面向对象的思想符合人类的认知习惯

  • 面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观

    上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过

    程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,

    成为无源之水。

java类
  • 什么是类?

    • 类是一个模板,它描述一类事物的属性和行为的集合.

    • 类是表示一个客观世界某类群体的一些基本特征抽象.

  • 类的结构

    • 成员变量:事物属性的描述;

    • 方法:事物的行为;(可以做的事情)

    • 构造方法:用于创建对象;

    • 内部类: 即在类体中声明的类。

    • 块:一段没有名称的代码块。

java类的定义
  1. 发现类 根据不同类型的对象,抽象出”类“

    • 类的声明格式:[访问权限修饰符] [修饰符] class Car{ }

      • 访问修饰符有两种public、无(默认)

      • 修饰符:final,abstract

      • 关键字class用来定义一个类

    • java类的命名规则:类名首字母大写,见名知意,驼峰表示

  2. 发现类的共有属性(成员变量)

    • 例如:

      //汽车的共有属性:颜色 名字 价格...
      public class Car {//汽车类
      //定义类的成员变量(属性)名词,成员:类的成员,在类中定义
      //声明成员变量的格式为: [访问权限修饰符] [修饰符] type attr_name [=defaultValue] ;
          String name;//名字
          float price;//价格
          String color;//颜色
      }

  3. 发现类的方法

    //汽车类共有的行为:启动 行驶 刹车...
    public class Car {//汽车类
    //定义类的成员变量(属性)名词,成员:类的成员,在类中定义
        String name;//名字
        float price;//价格
        String color;//颜色
    //方法声明格式:
    //[访问权限修饰符] [修饰符] [返回值类型] [方法名称](){}
    //例 void start(){
            System.out.println("汽车启动");
            [return 返回值;] 
        }
    }

java对象
  • 对象:对象是类的一个实例,是以类为模板在内存中创建的实际存在的实例。

  • 对象的创建和使用

    • 对象的创建和使用

      • 例:

        Car bm = new Car();
        

      • 同一类的每个对象有不同的成员变量存储空间。

      • 同一类的每个对象共享该类的方法。

类和对象
  • 总结类和对象

    • 类是一类事物的抽象概念,是一个模型.

    • 对象是由这个模型所创造的一个个具体存在的,实实在在存在的实例.

    • 所以创建对象的过程也叫实例化对象.

    现实生活中先有对象后有类,而编程时先设计类后创建对象.

变量分类
  • 按照位置变量分为:

    • 成员变量:

      • 成员变量是定义在类中,方法体之外的变量。

      • 成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。

      • 在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。

      • 成员变量在创建对象的时候会从类中复制一份到对象中。

      • 成员变量可以被类中方法、构造方法和特定类的语句块访问。

      • 成员变量的作用范围为整个类体。

    • 局部变量:

      • 在方法、构造方法或者语句块中定义的变量被称为局部变量。

      • 局部变量可以使用Java语言中任何一种数据类型。

      • 局部变量在使用前必须初始化赋值。

      • 变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

方法分类
  • 成员方法:成员方法是定义在类中。

    • 语法格式:

      修饰符 返回值类型 方法名 ( 参数列表) { 
          方法体语句;
          [return; 返回值] 
      }

    • 构造方法:用来初始化对象的方法

构造方法
  • 作用:用来初始化新创建的对象

  • 特点:构造方法名与类名相同,且没有返回值,且不需要使用void修饰

  • 在创建一个对象的时候,至少要调用一个构造方法。

  • 每个类都有构造方法。如果没有显式地为类定义构造方法,

    Java将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。

  • 一个类可以有多个构造方法。

  • 例:

    public class Car {//在无参构造方法中为新创建的对象用默认值初始化赋值
        String name;
        float price;
        String color;
        public Car(){
            System.out.println("无参构造方法");
        }
        public day11_2Car(String name,float price,String color{
            //定义了有参构造方法为新创建的对象初始化赋值
            this.name = name;
            this.color = color;
            this.price = price;
            System.out.println("有参构造方法");
        }
    }
    

方法的重载
  • 方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。

  • 例:

    public class Car {
        String name;
        float price;
        String color;
        public Car(){
            System.out.println("无参构造方法");
        }
        public Car(String name,float price,String color){
            this.name = name;
            this.color = color;
            this.price = price;
            System.out.println("有参构造方法");
        }
        public Car(String name,String color,float price){
            this.name = name;
            this.color = color;
            this.price = price;
            System.out.println("重载有参构造方法");
        }
        public void run(){
            System.out.print(name+"行驶  ");
            System.out.println("成员方法");
        }
        public void stop(){
            System.out.print(name+" 刹车 ");
            System.out.println("成员方法");
        }
    }
        Car ms = new day11_2Car("玛莎",6000000f,"橙色");
        Car dz = new day11_2Car("大众","黑色",300000f);

  • 参数列表不同(三个方面不同)

    • 数量不同

    • 类型不同

    • 顺序不同

  • 调用时,会根据不同的参数列表选择对应的方法

  • 构造方法和成员方法都可以重载

  • 注意:方法重载跟方法的返回值类型没有任何关系

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号