(面向对象1)面向过程,面向对象,java类,java对象,类中变量,类中方法,方法重载

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

在这里插入图片描述

面向过程:
注重于解决步骤
面向过程适合处理简单的事情,直接关注流程,简单有效。

例如:

​ 打开冰箱门();

​ 装大象();

​ 关闭冰箱门();

面向对象:
宏观,整体上的设计
面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理。
​ 例如:

​ 开门();

​ 关门();

​ 设计冰箱

​ 门类

​ 人

​ 操作();

简而言之,面向过程的思想在做事情时是需要说明事情具体怎么做,而面向对象是将具体怎么做的过程封装起来,做事情时直接使用这个封装品,在现实生活中,我们做事情需要安排计划,面向对象可以理解成安排计划,很明显面向对象注重外部的框架设计,面向过程注重内部的具体实现。

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

java类

什么是类?
类是一个模板,它描述一类对象的属性和行为.
类是表示一个客观世界某类群体的一些基本特征抽象.

类里面定义事物特征 == 汽车设计图纸 == .java文件

对象时具体存在 == 具体的某一辆车(实际存在,可以使用的) 在内存中存储

java中类的设计

类中内容

属性

方法

构造方法

内部类

代码块

public class Car {
    String name;/*  类的成员变量
                    [访问权限修饰符][修饰符] 数据类型 变量名 [=值];*/
    double price;
    String color;
    public void qidong(){ /*
                          类的成员方法
                          [访问权限修饰符][修饰符] 返回值类型/void 方法名([参数类型 参数名称]){

                                [return 值];
                           }
                           */
        System.out.println("启动");
    }
    public void jiasu(){
        System.out.println("加速");
    }
}

java对象

       /*
           创建汽车对象:
              以Car类为模板,
           Car baoma  =  new  Car();  

				new 关键字+默认构造方法():
                在内存空间创建一个对象,实际存在的,实例化对象
           		
			    Car baoma :
			    以Car类作为类型 声明一个变量 指向内存空间中的具体的对象
                使用baoma变量访问对象中属性,方法

          
          通过类可以创建无数个对象
         */
              Car baoma  = new Car();
                  baoma.name = "x5";
                  baoma.price = 600000;
                  baoma.color = "红色";

              Car benchi = new Car();
                  benchi.name = "GTR";
                  benchi.price = 700000;
                  benchi.color = "黑色";

                System.out.println(baoma.name);
                System.out.println(baoma.price);
                System.out.println(baoma.color);
                baoma.qidong();
                baoma.jiasu();
                        
                System.out.println(benchi.name);
                System.out.println(benchi.price);
                System.out.println(benchi.color);
                benchi.qidong();
                benchi.jiasu();
                            

类中变量

成员变量:

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

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

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

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

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

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

局部变量

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

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

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

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

类变量

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

类中的方法

成员方法:成员方法是定义在类中。这种方法在创建对象的时候创建。
语法格式:
修饰符 返回值类型/void 方法名 ( 参数列表) {
方法体语句;
[return 返回值]
}

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

/**
 * 人类
 */
public class Person {
      /*
       成员变量
      */

 	   String name;
       int age;
       /*
          构造方法
          方法名与类名相同,没有返回值,不需要void修饰
          一个类中可以拥有多个构造方法(方法重载)
          如果类中没有显示的声明构造方法,类中会默认有一个无参构造方法
          一旦类中定义了有参的构造放法,默认无参的构造方法会被覆盖, 建议显示的写出来.
        */
       public  Person(){
           System.out.println("Person构造方法1");
       }

       public Person(String n,int a){
              name = n;
              age = a;
              System.out.println("Person构造方法2");
       }

       public Person(String n){
              name = n;
              System.out.println("Person构造方法3");
       }

       public Person(int n,int a){
              System.out.println("Person构造方法4");
       }

       public Person(int a,String n){
              System.out.println("Person构造方法5");
       }


       /*
        成员方法
        其他成员方法也可以重载
        什么样的情况构成方法重载: 在同一个类中,有多个方法名相同,且参数不同.
         
        参数不同具体表现:
         个数不同
         类型不同
         顺序不同
        */
       public void eat(){

       }
       public void eat(int a){

       }
       public void eat(int a,int b){

       }
       public void eat(String a,int b){

       }
       //同一种功能,但是使用的数据类型不同
       public int getMax(int a,int b){
              return  a;
       }
       public float getMax(float a,float b){
              return  a;
       }


       public void study(){

       }

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

方法重载

方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。
调用时,会根据不同的参数表选择对应的方法。
方法重载
同一个类中方法名相同,参数不同(可以有三方面的不同)

  • 数量不同

  • 类型不同

  • 顺序不同

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值