面向对象

一、类和对象的关系

类:类是对象的抽象

对象:对象是类的具体,实例,实体

一个类可以有多个对象

一个对象只能有一个类

创建对象需要用到 构造方法

作用:创建对象,
创建对象的同时,给对象的成员变量赋初始值

构造方法语法:
构造方法没有返回值类型,不写void
***** 如果创建类时,添加带参构造方法,系统将不再生成无参构造,自己手动添加无参构造

访问修饰符 类名(){ //无参构造

}

带参构造
访问修饰符 类名(参数列表){
this.name=name;
this.age=age;
}

构造方法也有重载:

方法重载:
同一个类中,方法名相同,
参数的个数或数据类型不同,(参数列表不同)
与返回值和访问修饰符无关

成员方法:

访问修饰符 返回值类型 方法名( ) {

//我们所有学过的数据类型都可以作为返回值类型,没有返回值就用void

}

局部变量: 定义在方法内的变量,叫局部变量
方法内包括方法体 { 局部变量 }

方法名小括号中的 参数 (也是局部变量)

成员变量: 定义在类中,没有static修饰的成员变量,叫实例变量,实例变量是属于某个对象的

static 成员变量前加上static ,这个员变量就为 静态变量,也叫 类变量,

访问方式1: 类名. 静态变量
访问方式2: 对象名. 静态变量

成员方法:实例方法和静态方法

静态变量和实例变量 写在方法内时,静态方法只能访问静态变量,不能访问实例变量
实例方法既可以访问静态变量,又可以访问实例变量。

静态static 关键字所修饰的内容是随着类的加载而加载,不需要创建对象,用类名就可以访问。

静态代码块 只执行一次,和创建对象无关。

在这里插入图片描述
在这里插入图片描述
main(String [] args)方法一般放在测试类中

关键字
this 在本类中的三种用法:
在构造方法中, this.name=name; 区分成员变量和参数的局部变量

构造方法中, 调用构造方法,必须在第一行
this(); 在本类中,调用无参构造方法
this(name); //在本类中,调用带参构造方法

在普通方法中,
this.变量名, 区分方法体中的局部变量和成员变量
this.printInfo();

成员变量和局部变量区别

定义的位置不同
i. 成员变量定义在类文件中,
ii. 局部变量定义在方法中
默认值
成员变量有默认值,可以直接访问,还可以改变成员变量的值
局部变量,没有默认值,必须赋初始值才可以访问
使用范围,作用域
i. 成员变量在整个类可见,也就是在整个类中可以使用
ii. 局部变量只在本方法中可见,也就是在本方法中使用
同名
i. 成员变量可以和局部变量同名,但是在方法中,局部变量的优先级更高
ii.局部变量在同一个方法中不能重名,在不同的方法中可以重名

成员方法
实例方法: 无参方法
语法:
【访问修饰符】返回值类型 方法名(){

}

带参方法
语法:
【访问修饰符】返回值类型 方法名(参数类型 形式参数列表){

}

方法调用:
public class Student(){

public void show(){

}

public void print(){
show();
}
}

本类中:
直接写方法名调用, 省略this
this.成员方法();

其他类中调用
需要先创建对象,
对象名. 方法名();
对象名. 方法名(实参列表); //方法调用时,只传实际参数不需要写参数类型
总结: 实例方法可以使用静态变量,也可使用实例变量
静态方法:属于类的方法
定义语法:
访问修饰符 static 返回值类型 方法名(){
//局部变量
不可以使用非静态的成员变量(实例变量)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值