类和对象思路整理
1. 程序中的类就是对生活中的类或者对象进行一种固定格式的定义。生活中对类进行分类是根据是否具有相似的特征及行为,而程序中则相应根据属性及方法
2. 定义一个类的基本格式是
public class 类名{
//属性
//构造方法
public 类名(数据类型 形参,。。。){}
//普通方法
public 返回值类型 方法名(数据类型 形参,。。。){}
}
留意普通方法与构造方法之区别:1.构造方法不需返回值类型
2.构造方法名必须与类名一致,普通则不需
3.构造方法可初始化属性值,实例化对象,格式为:
//实例化对象
类名 对象名= new 类名(实参,。。。);//可在此处进行初始化赋值
//调用普通方法
对象名。方法名(实参,。。。);
4.需要实例化对象时用构造方法
3.方法重载
例如,吃饭方法,吃面条还是吃面包还是吃饭,变换时即实现了重载。必须注意,必为不同类型/个数/顺序的参数(例如,饭,面包即为不同类型的参数)
so,方法重载条件为:1.参数类型/个数/顺序必须至少有一不同
2.方法名需相同
而后调用时,根据传递的参数来决定调用不同的方法
4.this关键字
用途:1.this用来区分属性名和参数名,加了this的表示属性,没有加的则表示参数
2.this可以用来调用构造方法
例如,public Student(){
this("无名");//调用带一个字符串参数的构造方法。
}
即此时将“无名”传递给带一个字符串参数的构造方法
Ps。当访问权限符为private(只能在本类中访问到)时,为了能在本类以外访问到,采用如下代码(以定义猫为例):
public class Cat{
private String name;//补充:String是一个类,而非基本数据类型
//设置属性值的方法
public void setName(String name){
this.name=name;//第一个name是属性,第二个name是参数,重名时加this以区分二者。this表示当前调用方法的对象(),第二个name同String name
//获取属性值的方法
public String getName(){
return name;//void为无需返回,其余则需,如String则需返回一个String类型
}
}