小汤学编程之JAVA基础day06——面向对象(一):类与对象

it2025-03-26  7

一、类
1.类的属性      2.类的方法     3.类的分类     4.类的创建     5.扩展:成员变量和局部变量
二、对象
1.对象的创建      2.对象的使用

一、类

类就是一类事物的抽象概念,它不指代某一个具体的事物,而是将这一类事物所具有的特点进行抽取,然后形成一个带有范围指向性的概念。

1.类的属性(名词)

比如:狗这个类的属性有,颜色、身高、性格、年龄等

2.类的方法(动词)

比如:狗这个类的方法有:跑、吃、摇尾巴、叫等

(1)修饰符
修饰符代码公有的/私有的public/private静态的static

没有static修饰的默认为非静态(实例),静态属于类,而实例属于对象。

(2)返回值
返回值代码无返回值void基本数据类型int,double,Boolean等引用数据类型String,数组等

写基本、引用数据类型时,注意返回值的类型一致

(3)方法的调用

静态/实例方法调用:

公有/私有方法调用:

私有的方法只能在该类里使用 公有的方法可以在另外的类被调用

(4)参数传递

调用有多个参数的方法时,传参的顺序一致,数据类型保持一致

(5)构造方法
构造方法说明无参构造jvm虚拟机在加载类时会自动创建,每个类都默认有一个无参构造有参构造开发人员自己去编写,它的作用是:实例化对象的同时,为对象的成员属性赋值

有参构造=无参构造+set方法

// 无参构造 public Student(){ }; // 有参构造 public Student(String name,int age){ this.name = name; this.age = age; };
(6)方法的重载

同一个类中,同名不同参数的两个或以上的方法叫做方法的重载。

如果类中只有有参构造,忘记了写无参构造,类中的有参构造会覆盖无参构造 如果类中有参构造和无参构造都忘记了写,虚拟机在加载该类的时候会默认帮你生成一个无参构造。

(7)扩展:this的详解

第一种情况: this出现在一般的方法中,因为使用方法必须要调用它,所有这里this指代的是调用该方法的对象。

public void add(int num1,int num2){ this.sum = num1+num2; }

第二种情况: 1)this出现在构造方法中,因为构造方法是用new来调用的,所以这种情况和第一种不同,这里的this指代的是该构造方法构造出的对象。

public Student(String name){ this.name = name; }

2)this出现在构造方法中,且后面跟着括号是调用该类的其他构造方法,此时被调用的其他构造方法只会执行方法内代码,并不会构造新的对象。

public Student(){ this("张三"); } public Student(String name){ this.name = name;// 这里的this仍然是无参构造构造的对象。 }
(8)扩展:super的详解

作用一:访问父类的成员属性或成员方法 (在子类实例或构造方法中) 作用二:访问父类的构造方法 (在子类构造方法中)

public Student(){ super(); // 访问父类的构造方法 super.a = 1;// 访问父类的成员属性或成员方法 } public void rename(String name){ super.a = 1; }

3.类的分类

分类说明实体类粗略来说,就是可以找到与之对应的实体对象的类:比如:狗狗类,汽车类。学生类等业务类用来描述各种逻辑关系的类

实体类一般由属性(姓名,年龄等实体属性)、方法(实体能够进行的动作)和代码块构成。

4.类的创建

类一般由若干属性和若干方法组成,而两者都不是必不可少的。

public class Student{ // 成员属性 String name; // 方法 public void read(){ System.out.println("正在读书...") } }

5.扩展:成员变量和局部变量

类的成员变量也叫全局变量,即在整个类都可以用; 用大括号里面的变量叫局部变量,只能在括号里生效。

二、对象

对象就是某一类中的具体的指代,表示的是一个实实在在的具体的事物。

由类生成对象的过程叫做实例化。

1.对象的创建

Test t1 = new Test();

2.对象的使用

(1)设置属性
t1.name = "张三";
(2)调用方法
t1.rename("李四");
最新回复(0)