面向对象

本文介绍了面向对象编程的基础概念,包括对象的特征(属性和行为),类的定义,如何创建对象,以及成员变量和局部变量的区别。此外,还讲解了实例方法、构造方法的作用,方法重载的概念,以及this关键字在对象中的应用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

面向对象

对象
  • 什么是对象
    具有明确的行为(方法)和特征(属性|变量)的实体

  • 对象有什么
    行为 : 指的是方法,一般都是动词。代表对象能干什么
    特征: 指的是属性,一般都是名词。代表对象有什么

  • 类的由来:类是由多个具有相同特征和行为的对象抽取出来的
    如果定义一个类:
    1、确定类名
    ​ 2、编写成员变量
    ​ 3、编写成员方法
public class Dog {
    //属性
    String name;
    int age;
    String sex;
    //方法
    public void play(){
        System.out.println("小狗玩飞盘");
    }
}
创建对象

语法:类名 对象名 = new 类名();
Dog dog = new Dog();

  • 成员方法和成员属性的调用
//创建Dog对象
//        Dog dog=new Dog();
//        //调用成员属性
//        dog.name="joy";
//        dog.age=2;
//        //调用成员方法
//        dog.play();
类和对象的关系
  • 类:定义了对象应具有的特征和行为,类是对象的模板
  • 对象:拥有多个相同特征和行为的实体,对象是类的实例
    在这里插入图片描述
局部变量和成员变量对比
  • 位置
    局部变量在方法内初始化,成员变量在类中,方法外初始化;
  • 默认值
    局部变量没有默认值,成员变量和数组中的默认值一致;
  • 作用域
    局部变量在所在的{},成员变量在整个类中
  • 重名
    局部变量在不同的作用域中可以重名,成员变量在类中不可以重名;
  • 生命周期
    局部变量方法执行完即被销毁,成员变量随着对象销毁而销毁;
    如果局部变量和成员变量重名时,遵循就近原则
实例方法
  • 实例方法
    实例方法当对象被创建的时候产生(不使用static修饰)
  • 方法重载:在一个类中的出现同名方法称之为方法的重载
    1、同名不同参(参数类型,参数个数,参数顺序)
    2、和返回值、修饰符没有关系
public class Dog {
    public void eat(){
        System.out.println("狗吃");
    }
    public void eat(String name){
        System.out.println(name+"狗吃");
    }

    public void eat(int age,String name){
        System.out.println(age+name+"狗吃");
    }

    public void eat(String name,int age){
        System.out.println(age+name+"狗吃");
    }
}
构造方法
  • 构造方法:类中的特殊方法,用于创建类的对象

  • 作用:创建类的对象(实例化)

  • 语法:public 构造方法名(){}

  • 构造方法名必须与类名完全一致

  • 特点:
    1、如果一个类没有编写构造方法, 那么jvm会默认提供一个无参构造方法,但是如果一个类提供了构造方法,那么jvm就不会再提供给这个无参构造方法
    2、构造方法可以重载
    3、一个类无论提供多少个构造方法,一定要保留一个无参构造方法
    在这里插入图片描述

  • 对象创建的过程
    1、内存中开辟空间
    2、成员初始化
    3、执行构造方法代码
    4、将对象地址指向对象

  • 内存分配图
    在这里插入图片描述

this关键字
  • 含义:表示当前类的对象,在对象被创建的时候自动产生
  • 作用: 可以调用本类的属性、方法、构造方法
  • 调用本类的属性
    this.属性;
  • 调用本类的方法
    this.方法名();
  • 调用构造方法
    无参构造
    this();
    有参构造
    this(参数);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值