1.类
类就是具备某些bai共同特征的实体的du集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。
在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。
2.对象
类封装了参数和方法,可以通过创建类的对象
对象可以使用类中的参数和方法,对象与对象之间互相独立存在。
例如:
人类 创建对象 张三 和 李四
张三和李四都是人类,都能干人类能做的事情,但是张三和李四互相独立存在
且张三和李四之间会存在某些差异,例如 身高、体重、爱好、特长等不同之处(对象的参数差异)。
3.类的书写规则以及 构造方法
public class 类名{
公共资源区域,用于声明可以再整个类中使用的资源
//构造方法
//无参构造方法
public 类名(){
// 注意:当需要在构造方法中调用本类的构造方法时, 必须! 将被调用的构造方法写在第一行
//在创建类时即使不写出构造方法也会默认存在无参构造方法
//在写出其它构造方法后(有参构造方法),无参构造方法会默认失效,需要写出无参构造方法才能
//继续使用无参构造方法
}
//有参构造函数
public 类名(类型 形参名){
//在创建对象时,对类中的参数进行赋值
}
public 返回值类型 类内方法名(){
}
}
创建一个类 ----- demo02
public class demo02 {
private int num;
//构造方法
public demo02(){
//无参构造函数
System.out.println("调用了无参构造方法");
}
public demo02(int int1){
//有参构造函数
System.out.println("调用了有参构造方法");
this.num = int1;
}
public int getNum(){
num+=10;
System.out.println("调用了demo02的类内方法,本对象内的num值为:"+num);
return num;
}
}
使用类 demo02创建对象
public class demo {
public static void main(String[] args) {
int num = 10;
//创建demo02类的对象
demo02 d1 = new demo02();
//调用demo02中的方法
d1.getNum();
demo02 d2 = new demo02(num);
d2.getNum();
}
}
运行结果
调用了无参构造方法
调用了demo02的类内方法,本对象内的num值为:10
调用了有参构造方法
调用了demo02的类内方法,本对象内的num值为:20
4.通过类的方法对类的参数进行赋值
创建类 ------- demo03
public class demo03 {
private int num;
//构造方法
public demo02(){
//无参构造函数
}
public void setNum(int a){
this.num = a;
}
public int getNum(){
return num;
}
}
使用demo03类
public class demo {
public static void main(String[] args) {
//创建demo03类对象
demo03 d = new demo03();
//调用setNum()方法设置对象 d 内的num值为100
d.setNum(100);
//调用getNum()方法获取对象内的num值
System.out.println(d.getNum());
}
}
输出结果
调用了setNum()方法
调用了getNum()方法
100
5.类 中的 <代码块>
在一个类中, 如果书写了 代码块,在创建对象时就会执行代码块中的内容
代码块有两种
1. 普通的代码块
>在创建对象时,代码块中的内容会被执行
{}
2. 被static修饰的代码块
>只在此类第一次调用的时候执行
static{}
代码块在类中的写法
public class Demo02 {
//static修饰的代码块
static{
}
//普通代码块
{
}
}
案例
创建demo02类
public class Demo02 {
//static修饰的代码块
static{
System.out.println("static代码块");
}
//普通代码块
{
System.out.println("普通代码块");
}
}
使用 demo02 类
public class Demo01 {
public static void main(String[] args) {
Demo02 d1 = new Demo02();
Demo02 d2 = new Demo02();
}
}
输出结果
static代码块
普通代码块
普通代码块