[java]面向对象

我宁愿写bug⚠️,也不愿什么都不做 ❗️


💚哈喽!大家好!💚

❤️我是 一看就会,一写就废浩浩🔍❤️

💙让我带你编程带你飞,带你飞进垃圾堆!💙

💜 如果对你有所帮助,请给我点个赞👍!💜


键盘敲烂💥,工资过万💰


📌


面向对象

1. 面向对象概念

  • OPP :Procedure Oriented Programming 面向过程的编程

  • OOP :Object Oriented Programming 面向对象的编程

  • 面向过程 OPP

    • 自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里
  • 面向过程 OOP

    • 去饭店,张开嘴:老板!来一份鱼香肉丝!

2. 面向对象编程的基本特征

  • 三大特征
    • 封装 :将功能封装成一个个独立的单元,减小耦合,避免牵一发而动全身,方便对程序的修改。
    • 继承 :代码重用,减少编码量,间接减少维护成本。
    • 多态 :不同的场合做出不同相应。
OPP :

1. 打开冰箱
2. 把大象放进冰箱
3. 关闭冰箱门

OOP :

人{
	打开(冰箱){
		冰箱.开门();
		冰箱.关门();
	}

	操作(大象){
		大象.进入(冰箱);
	}
    
	关闭(冰箱){
		冰箱.关门();
	}
}

冰箱{
	开门();
	关门();
}

大象(){
	进入(冰箱);
}

3. 类和属性的定义

  • 类和对象的关系
    • 类:就是一个模板,是一类对象的模板,他描述一类对象的行为和状态,定义了这些对象应该有的属性及方法。
    • 对象:万物皆对象。对象是类的具体体现。
      • 对象的实质是:属性(成员变量)+ 行为(方法或函数)

4. java类的基本结构

  • 类的结构:属性、方法、构造方法、内部类、块。

5. 类的声明形式以及作用

  • 类的声明

    • [访问权限修饰符] [修饰符] class 类名 {
             类体
        }
      
  • 类的作用: 类就是一个模板,定义多个对象共同的属性和方法

  • 例:

    public class Student {
    /*[访问权限修饰符] [修饰符] class 类名 {
            类体
       }
       
    1. 权限修饰符
        1. public : 公有的,代表所有的其他类都能访问这个类
        2. default : 默认的,可以省略不写,代表是包权限,只有在本包下 类才能访问
    2. class ;关键字,代表定义类
    3. Student : 类名,代表类的名字,大驼峰
    4. 类的作用 : 类就是一个模板,定义多个对象共同的属性和方法
    */
        
    }
    

6. 属性的声明形式及作用

  • 属性的定义

    • 属性即对象应有的数据

      注:属性又称成员变量,是声明在类中的变量,在方法体中声明的变量为局部变量或临时变量

  • 属性的声明 方式

    • [访问权限修饰符] [修饰符] 数据类型 属性名[=初值]
      
    • 例:

      public class Student {
      /*
      1. 属性属性即对象应有的数据。 
      注:属性又称成员变量,是声明在类中的变量,不是声明在方法中的变量
      
      属性的声明方式:[访问权限修饰符] [修饰符] 数据类型 属性名[=初值]
      
          1.访问权限修饰符:
              1) private(私有的,只有本类可以访问)
              2) protected(受保护的,本类,子类,不同包的子类可以访问)
              3) default(默认的,本包的类可以访问)
              4) public(公共的,所有的类都可以访问)
          2.数据类型:java数据类型,int short byte long float double boolean char 数组 字符串 枚举 类 接口
          3.属性名:变量名,java标识符,小驼峰
          4.属性可以只定义不赋初始值,在不赋初始值的情况下,属性的值是该类型的默认值
       */
      
          protected  String name; //姓名属性:null
          int age;  //年龄属性,默认值:0
          
      }
      

7. 成员变量和临时变量

  • 成员变量
    • 堆内存,声明在类体内方法外;
    • 可以在声明时赋值或者构造方法赋值,若不赋值,会有默认的初始值;
    • 作用域:整个类都可以使用。
  • 临时变量
    • 栈内存, 方法内,包括方法的参数;
    • 声明和赋值之后才能使用,否则编译就会报错;
    • 作用域:找括号(变量声明在哪对{}里,那么它就在哪对{}内生效),出了括号就不认识了。
    • 成员变量和临时变量如果变量名相同,那么采用就近原则,以局部变量为准。

8. 创建对象

  • 调用无参数的构造方法

    类名 对象名 = new 该类的构造方法();
    例:Student stu = new Student();
    
  • 调用有参数的构造方法

    类名 对象名 = new 该类的构造方法(参数1,参数2...);
    例:Student stu = new Student("lily",18)
    
  • 创建对象的作用:要想访问一个类中的非私有成员,必须先创建该类对象,通过对象名来访问。

9. 访问对象的成员属性和方法

  • 访问类的属性:对象名.属性
  • 调用类的方法:对象名.方法名(实参列表)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haohao_不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值