【类和对象+this引用】

简介: 【类和对象+this引用】



面向对象与面向过程

面向对象就是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。

面向过程好比传统的洗衣服方式

注重的是洗衣服的过程,少了一个环节可能都不行。

面向过程就是要关注洗的方式,时间长度,拧干方式等一系列详细步骤,所以处理起来就比较麻烦

面向对象好比现代洗衣服方式:

只有四个对象:人,衣服,洗衣粉,洗衣机

人不需要关注洗衣机具体是怎么洗衣服的,是如何甩干的。

java主要研究面向对象

面向对象关注的是对象,用类描述这个对象

如何定义类

class是定义类的关键字,ClassName为类的名字,{}中为类的主体。

// 创建类
class ClassName{
public String name; // 字段(属性) 或者 成员变量 定义在类当中,方法外部的变量
// 行为 或者 成员方法
   public void sleep(){
   }
}

类中具体成员变量分为两种

class Person{
    //普通成员变量
    public String name;
    //普通成员方法
    public void sleep(){
    }
    //静态成员变量
    public static int count;
    //静态成员方法
    public static void Sum(){
    }
}

注意事项:

  1. 类名注意采用大驼峰定义
  2. 成员前写法统一为public(访问限定修饰符)
  3. 此处写的方法不带 static 关键字**
  4. 一般一个文件当中只定义一个类
  5. main方法所在的类一般要使用public修饰
  6. public修饰的类必须要和文件名相同
  7. 不要轻易去修改public修饰的类的名称,因为一个java文件有多个类就改不了

如何更改类名

类的实例化

class PetDog{
    public String name;
    public String eat;
    public void eat(){
        System.out.println(name+"吃剩饭");
    }
}
public class Test {
    public static void main(String[] args) {
        //实例化 =》实例化出来就是一个真正的实体
        //通过new关键字可以实例化多个对象
        PetDog petDog =new PetDog();
        petDog.name="花花";
        petDog.eat();
        PetDog petDog2 =new PetDog();
        petDog2.name="耀耀";
        petDog2.eat();
    }
}

注意事项

  1. new 关键字用于创建一个对象的实例。
  2. 使用 . 来访问对象中的属性和方法。
  3. 同一个类可以创建多个实例。

this引用

什么是this引用

this引用指向当前对象,在成员方法中所有成员变量的操作,都是通过该 引用去访问。

重要性:定义成员方法时,务必加上this.

public class Date {
    //成员变量
    public int year;
    public int moth;
    public int day;
    //成员方法
    public void setDay(int y,int m,int d){
    //this的作用是当调用很多方法时,变量不知道给谁赋值,用this.修饰变量,就表明谁调用这个方法this就给谁赋值
      this.year=y;
      this.moth=m;
      this.day=d;
    }
    //打印方法
    public void print(){
        System.out.println("year:"+year+" "+"moth"+" "+moth+" "+"day:"+day);
    }
    public static void main(String[] args) {
        //实例化对象
        Date date=new Date();
        date.setDay(2023,10,22);
        date.print();
        Date date1=new Date();
        date.setDay(2003,06,05);
        date.print();
    }
}

this引用的特性

  1. this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型
  2. this只能在"成员方法"中使用
  3. 在"成员方法"中,this只能引用当前对象,不能再引用其他对象
  4. this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法对象的引用传递给该成员方法,this负责来接收

总结

类和对象+this引用便是今天学习的内容,这几天复习的知识多,怕是要忘了,恨不得一天48个小时,加上学校的事情好多,明早抽到了我上台讲ppt,下午古代文学史抽背,放学普通话考试,明天又是高度紧张的一天,鸭梨大啊鸭梨大。

相关文章
|
编解码 安全 网络安全
CTF从入门到提升之宽字节注入
CTF起源于1996年DEFCON全球大会,以代替之前们通过互相发起真实攻击进行技术比拼的方式。
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
590 212
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
234 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
828 60
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1216 157
|
6天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
512 109