Java复习第六天学习笔记(类、封装、构造方法)附有道云笔记链接

本文详细介绍了Java中的类、对象、面向对象的特征、封装、构造方法以及易混淆的知识点,包括数据类型的默认值、空指针异常处理和toString方法的使用。还提供了编程作业示例,如模拟计算器和定义长方形类。
摘要由CSDN通过智能技术生成

【有道云笔记】五 3.19 类、封装、构造方法
https://note.youdao.com/s/79V1e1A2

一、类

1、定义

类:对现实世界中事物的抽象。Student

对象:现实世界中具体的个例。

面向对象的特征:抽象、封装、继承、多态

OOP:Object Oriented Programming 面向对象

类和对象的总结:

1、现实世界都是由很多对象组成的,基于对象的共同特征抽象出类。

2、对象:真实存在的对象

3、类中包含:

1)所有对象共同的特征--属性(静)

2)所有对象所共有的行为--方法(动)

4、类是对象的模板,对象是类的具体实例。

5、一个类可以创建多个对象:同一个类的不同对象,结构相同,数据不同。

2、易混淆知识点

int num = 3;

int[] nums = new int[3];

Student student = new Student(); // student :变量、实例、对象

Student[] students = new Student[3];

Teacher teacher = new Teacher();

Teacher[] teachers = new Teacher[3];

int、int[]、Student、Student[]这些都是数据类型,数据类型的后面是这种类型的一个变量。

格式: 数据类型 变量

3、数据类型的默认值

int类型默认值是:0

double类型默认值是:0.0

boolean类型默认值是:false

String类型默认值是:null

int[]类型默认值是:null

Student[]类型默认值是:null

boolean[]类型默认值是:null

int[] array = new int[3]; 里面的存放默认值是0

boolean[] array = new boolean[3]; 里面的存放默认值是false

Student[] array = new Student[3];里面的存放默认值是null

@Test public void test2() { Student student = new Student(); System.out.println(student.id);//0 System.out.println(student.name);//null //System.out.println(student.ok);//false } @Test public void test3() { int[] array1 = new int[3]; boolean[] array2 = new boolean[3]; Student[] students = new Student[3]; for (int i = 0; i < students.length; i++) { System.out.println(students[i]); } //增强的for循环 for (Student student : students) { System.out.println(student); } }

4、空指针异常

ArrayIndexOutOfBoudsException 数组下标越界异常

NullPointerException空指针异常(引用数据类型)

@Test public void test4() { //NullPointerException空指针异常(引用数据类型) Student student = null; System.out.println(student);//null // null.方法 null.属性 System.out.println(student.id); }

5、toString()

public String getInfo(){ return "[Student: id="+ id +", name="+ name +", age="+ age +", gender="+ gender +"]"; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; }

@Test public void Test4(){ Student student1 = new Student(); student1.id = 1; student1.name = "张三"; student1.age = 22; student1.gender = "男 "; System.out.println(student1.getInfo()); System.out.println(student1.toString()); System.out.println(student1); }

二、封装

一旦使用private进行修饰,那么本类仍然可以随意访问,但是超出本类范围之外就不能直接访问了。

间接访问private成员变量,就是定义一对Getteer/Setter方法,命名规则必须是getXxx或者是setXxx。

对于Getter来说,不能有参数,返回值和成员变量对应;

对于Setter来说,不能有返回值,参数和成员变量对应。

对于基本类型中的boolean值,Getter方法一定要写成isXxx的形式,而Setter规则不变。

快速生成Getter/Setter

三、构造方法

构造方法是专门用来创建对象的一个方法,当我们通过关键字new来创建时,其实就是在调用构造方法。

格式:public + 类名 (参数类型 参数名称)

构造方法的名称必须和所在类的名称完全一样,大小写也要一样

构造方法不要写返回值,就连void也不要写

构造方法不能return一个具体的返回值

构造方法是可以进行重载的。 重载:方法名称相同,参数列表不同

一旦编写一个构造方法,编译器将不再赠送无参方法,需要自己补上

构造方法和一般方法的不同:

1、构造方法是在new对象的时候运行,而一般的方法是在对象调用的时候才执行。

2、一个对象的建立,构造方法只执行一次,而一般方法可以被改对象调用多次。

四、作业

1、编写Java程序,模拟简单的计算器。

定义名为Number的类,其中有两个整型数据成员num1和num2,应声明为私有。编写构造方法,赋予num1和num2初始值,再为该类定义加(add)、减(sub)、乘(multi)、除(div)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。

在main方法中创建Number类的对象,调用各个方法,并显示计算结果。

2、定义长方形类,含:

属性:宽、高(整型);

方法:求周长、面积;

构造方法3个:(1)无参——宽、高默认值为1;(2)1个参数——宽、高相等;(3)2个参数——宽、高各为参数值。

要求:进行测试计算周长和面积。

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值