案例:School类的入门
School.java
public class School { //类名
// 属性
String name; //名称
int jsNumber; //教室数目
int jfNumber; //机房数目
//方法
public void show(){
System.out.println(name + "\n" + jsNumber + "\n" +jfNumber);
}
}
调用的类:
Demo01.java
public class Demo1 {
public static void main(String[] args){
//将school理解成一种引用的数据类型 只不过这个数据类型是自定义的
//1.声明
School school;
//2.分配空间
school = new School();
//3.点访问属性
school.name = "大学";
school.jfNumber = 36;
school.jfNumber = 8;
//4.访问方法
school.show();
}
}
Java新建包名及命名规则
在根包下有很多子包,简单了解命名规则。
注意:一般情况下不会在根包下创建类
封装
无参构造函数
公有化封装
私有封装的步骤
常量的定义
final
当有经常调用且固定的数值时,可以通过在封装内定义final不可变的常量来更为简便
static
静态可以访问静态。
非静态访问非静态。
静态不可访问非静态。
非静态访问静态会报错,但是静态的可以通过类名直接访问(类名.静态)。
tip:早期(从前)不可以访问晚期(未来),但是晚期可以访问早期。
static代码块
继承
两个类都有共同的属性,可以创建新的类Pet来定义,这样只需两个类继承Pet即可都使用到。
继承的语法
子类 extends 父类
关键字 this super
this:关键字,代表当前的实例,谁调用,他就是谁。堆里面那块内存的首地址。
super:关键字,代表当前的实例的父亲,用它可以明确表示,调用来源于父亲的属性或方法,还可以访问父亲的构造函数。
Override //检查你的重写方法名是否正确
四种访问权限
private:私有的,本类内部才能访问
int a2 = 2 :包级别的,同包的其他类也能访问
protected:保护的,同包的其他类也能访问,子类也能访问(包外) >= 包
public:公共的,任何类中也能访问
Object
toString()方法
equals()原理及hashCode()方法
抽象类
---------------------------------
最终类
添加final无法被其他类使用
多态
多态的实现
instanceof
instanceof 是 Java 的一个二元操作符,类似于 ==,>,< 等操作符。
instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。
父类到子类的转换
接口
java不支持多继承,可以通过interface来进行多接口。
异常
异常也是一个类
使用异常机制解决异常
finally
无论是否发生异常都执行,只有 System.exit(0)
结束当前Java虚拟机才可以终止
使用异常机制解决异常
catch的顺序
throw和throws
throw:用于方法体内代码行
throws:用于方法声明上,跟在方法后面一点
或它的子类
f01发生异常时程序正常执行完毕
f02发生异常时在运行时抛出异常
评论区