面向对象与面向过程
面向对象就是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。
面向过程好比传统的洗衣服方式:
注重的是洗衣服的过程,少了一个环节可能都不行。
面向过程就是要关注洗的方式,时间长度,拧干方式等一系列详细步骤,所以处理起来就比较麻烦
面向对象好比现代洗衣服方式:
只有四个对象:人,衣服,洗衣粉,洗衣机
人不需要关注洗衣机具体是怎么洗衣服的,是如何甩干的。
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(){ } }
注意事项:
- 类名注意采用大驼峰定义
- 成员前写法统一为public(访问限定修饰符)
- 此处写的方法不带 static 关键字**
- 一般一个文件当中只定义一个类
- main方法所在的类一般要使用public修饰
- public修饰的类必须要和文件名相同
- 不要轻易去修改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(); } }
注意事项
- new 关键字用于创建一个对象的实例。
- 使用 . 来访问对象中的属性和方法。
- 同一个类可以创建多个实例。
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引用的特性
- this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型
- this只能在"成员方法"中使用
- 在"成员方法"中,this只能引用当前对象,不能再引用其他对象
- this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法对象的引用传递给该成员方法,this负责来接收
总结
类和对象+this引用便是今天学习的内容,这几天复习的知识多,怕是要忘了,恨不得一天48个小时,加上学校的事情好多,明早抽到了我上台讲ppt,下午古代文学史抽背,放学普通话考试,明天又是高度紧张的一天,鸭梨大啊鸭梨大。