Java面向对象1-面向对象、类和方法的介绍

Java面向对象1

  1. 面向过程和面向对象的设计思想

    面向过程:pop

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

    例如:往冰箱装大象问题.分成三步

    1.打开冰箱

    2.装入大象

    3.关上冰箱

    面向对象:oop面向对象的编程语言

    以分类的方法进行思考和解决问题,面向对象的思维方式适合于处理复杂的问题.面向对象的思想符合人类的认知习惯.

    例如:往冰箱装大象问题

    先设计两个类

    1.冰箱类(包含门类)

    门类(包含两个方法,开门和关门)

    2.人类(包含操作方法)

    3.大象类(进入冰箱的功能)
    三个类之间相互调用彼此的功能共同处理问题
    面向过程适合处理简单的事情,直接关注流程,简单有效.

    面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理.

    面向对象无法取代面向过程,他们是相辅相成的.面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,任然采用面向过程的思维方式.面向对象如果离开了面向过程,就无法实现真正的落地,成为无源之水.

  2. Java类

    类是一个模板,它描述一类对象的属性和行为.

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

    例子

    类 = 汽车设计图=.java文件; 对象 = 实实在在的汽车;

    类的结构

    成员变量:对象属性的描述;

    方法:对象的行为;(可以做的事情)

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

    内部类:即在类体中声明的类.

    块:代码块

    第一步:发现类

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

    访问修饰符有两种public和default

    修饰符:final和abstract

    关键字class用来定义一个类

    Java类名的命名规范:类名首字母大写,见名知意,驼峰表示.

    第二步:发现类的共有属性(成员变量)

    public static class Car{
          
          //类声明
            String name;//成员变量定义
            String color = "blue";
            int price;
        /**声明成员变量的格式为:
        *[访问权限修饰符] [修饰符] type attr_name [=defaultVaule];
        */
            public static void start(){
          
          //方法声明
                System.out.println("汽车启动");
            }
            public static void stop(){
          
          
                System.out.println("汽车停止");
            }
    
        }
    

    第三步:发现类的方法

    public class Car{
          
           
      //成员变量定义
      String name; //名称
      String color; // 颜色
      float price;//价格
    /*方法声明格式为:
     [访问权限修饰符] [修饰符]/ void start(){
     System.out.println("汽车启动");
            [return  返回值;]
            */
       }
    }
    
  3. Java对象

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

    在内存中存储.

    对象的创建和使用

    对象的创建和使用

    public static void main(String[] args) {
        /* 创建汽车对象
        以Car类为模板.
        Car c = new Car();new 关键词 +默认构造方法();
        在内存中为Car创建对象c ,c是实例化对象;
        Car c以Car类作为类型声明一个变量,指向内存空间中的具体的对象.
        使用c变量访问对象中属性,方法 通过类可以创建无数个对象
        * */
        ClassDemo.Car c = new ClassDemo.Car();
        c.start();
        c.stop();
        String b = c.color;
        System.out.println(b);
        c.name="宝马";
        c.price=70000;
    }
    
    public static class Car{
          
          //类声明
        String name;//成员变量定义
        String color = "blue";
        int price;
        public static void start(){
          
          //方法声明
            System.out.println("汽车启动");
        }
        public static void stop(){
          
          
            System.out.println("汽车停止");
            
        }
    
    }
    

    使用 new 关键字创建对象。

    使用对象(引用) . 成员变量来引用对象的成员变量。

    使用对象(引用) . 方法来调用对象的方法。

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

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

  4. 类和对象

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

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

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

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

  5. 变量分类

    一个类可以包含以下类型变量:

    成员变量:

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

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

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

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

    成员变量的作业范围为整个类体.

    局部变量:

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

    局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型).

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

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

    类变量:(也叫静态变量)类变量也声明在类中,方法体外,但必须声明为static类型.

  6. 方法

    一个类可以包含以下类型方法:

    **成员方法:**成员方法是定义在类中.这种方法在创建对象的时候创建.

    语法格式:

    修饰符 返回值类型/void 方法名(参数列表){

    ​ 方法体语句:

    ​ [return 返回值]

    }

    **构造方法:**用来创建对象的方法.

    类方法:(也叫静态方法)类方法也声明在类中,但必须声明为static类型.

    public static class Car{
          
          //类声明
        String name;//成员变量定义
        String color = "blue";
        static int  price ;//类变量
        public void stop(){
          
          //方法声明 成员方法
        }
        public static void start(){
          
          //方法声明 ,类方法
            int a= 0;//局部变量,必须赋值
        }
        public Car(){
          
          //构造方法
            System.out.println("构造方法1");
        }
    

    构造方法

    构造方法是定义在Java类中的一个用来创建对象的方法.

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

    使用 new + 构造方法创建一个新的对象.在创建一个对象的时候,至少要调用一个构造方法.

    一个类可以有多个构造方法.

    每个类都有构造方法.如果没有显式的为类定构造方法,java编译器将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效.

    方法的重载

    方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法.

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

    方法重载

    1.同一个类中

    2.方法名相同

    3.参数不同(数量不同,类型不同,顺序不同)

    注意:方法重载跟方法的返回值类型,访问权限没有任何关系.

    例如:

    public static class Car{//类声明
        String name;//成员变量定义
        String color = "blue";
        
        public Car(){
            System.out.println("构造方法1");
        }
        public Car(int a){
            System.out.println("构造方法2");
        }
        public Car(int a , String b){
            System.out.println("构造方法3");
        }
    }
    

猜你喜欢

转载自blog.csdn.net/qdzjo/article/details/109142902
今日推荐