OOP面向对象思想

面向对象

面向对象编程(Object-Oriented Programming,OOP)

本质:以类的方式组织代码,以对象的组织(封装)数据

核心思想:

  • 抽象
  • 三大特性:1. 封装 2.继承 3.多态

方法

方法定义的回顾

/*
修饰符 返回值类型 方法名(...){
    //方法体
    return 返回值;//在return里面代表方法结束了, 结束方法,返回一个结果!结果可能为空,可能为任意一种类型
}
*/

方法调用的回顾

  • 静态方法:static
  • 其余为非静态方法

静态方法调用可直接通过类名调用

格式:类名.方法名

public class Demo{
    public static void main(String[] args){
        Student.say();
    }
}
public class Student{
    public static void say(){
      System.out.println("巴啦啦");
    }
}

非静态方法的调用

public class Demo{
    public static void main(String[] args){
        //实例化这个类
        //对象类型 对象名 = 对象值   
        Student student = new Student();
            student.say();
        //new Student().say(); 同上一样可以调用
    }
}

方法调用之形参实参

public class Demo{
    public static void main(String[] args){
        Demo.add(1,2) //实参
            //实际参数和形式参数的类型要对应
        System.out.println(add);
        
    }
    //形参
    public static int add(int a,int b) { 
  return a+b;  
} 
   } 

方法调用之值传递和引用传递

//值传递

public class Demo{
    public static void main(String[] args){
    int a  =1;
    System.out.println(a); //输出1 定义a等于1
    
    Demo.change(a);//把实参传给a
     System.out.println(a);//输出1
    }
    
    //返回值为空
     public static void change(int a) {//形参 把1传过来接着走a=10 然后当前a=10 没有返回值 回到上面sout a还是等于1
       a=10;
    
  }  
//引用传递(一般是传递一个对象 本质还是值传递)
//一个类里面只能有一个 public class 但可以有多个class


public class Demo{
    public static void main(String[] args){
    Person person =  new Person();//把person传递给change方法
        System.out.println(person.name);//null
     Demo.change(person);
     System.out.println(person.name);//哆啦A梦
    }
    
      public static void change(Person person) {
          //person是一个对象 指向的是---> Person person =  new Person(); 这是一个具体的人 可以改变属性
      person.name ="哆啦A梦";//改的是下面那个Person类的name
}
    
class Person{
    String name;//默认值为null
   }
}

类和对象

类是一种抽象的数据类型,它是对某一事物整体的描述/定义,但并不能代表某一个具体的事物

对象是抽象概念的具体实例

创建与初始化对象

使用new关键字创建对象

使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。

类是抽象的 需要进行实例化。类实例化后会返回一个自己的对象

类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。

并且构造器有以下俩个特点:

  1. 必须和类的名字相同
  2. 必须没有返回类型,也不能写void

一个类即使什么都不写 也会存在一个方法(构造方法)

小插曲:方法中this.?=??? this. 代表当前类 ,而后面=的那个就是参数传进来的值

构造器作用

  1. 实例化初始值
  2. 使用new关键字必须要有构造器,本质是在调用构造器
  3. 一旦定义了有参构造,无参构造就必须显示定义,这样才可以使用无参new 对象 即定义了有参后,想要Student student = new Student();就必须有个无参的定义,无参构造器里面可以啥都不填

快捷键 alt+ insert 生成构造器

小结

  1. 类是一个模板,是抽象的;对象是一个具体的实例
  2. 方法的定义、调用
  3. 对应的引用
    • 引用类型:除了 基本类型(8种)之外都可以成为引用类型
    • 对象是通过引用来操作的:栈---->堆
  4. 属性:一般成为字段Field或成员变量
  • 默认初始化:数字 0 0.0

    ​ char: u0000

    ​ boolean:false

    ​ 引用:null

    修饰符 属性类型 属性名 = 属性值 (java万能公式 赋值都是这么赋的)

  1. 对象的创建和使用
    • 必须使用new关键字创造对象,必须要有构造器 Person fafa = new Person();
    • 对象的属性 fafa.name
    • 对象的方法 fafa.sleep();
  2. 类:
    • 静态的属性 属性
    • 动态的行为 方法
posted @   凹尾狸花鱼  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示