类和对象的理解:现实世界并没有类的存在,存在的只有一个个的对象,如小明,小红,我的笔记本电脑等,这些对象是具体,客观存在的;我们可以把那些具有相似特征的对象归结为一类,如小明和小红这两个人都可以归为学生这一类;而小红和我的笔记本电脑有不同点,所以归纳为不同的类,类是抽象的,主观的。
在程序中我们可以定义一个类,这个类是根据对象的特征和行为定义的。
在类中我们可以定义属性和方法,属性即对对象的特征描述,方法是对对象的行为定义;如定义一个学生类,学分和名字是他们的属性,学生在打篮球是一个类行为的一个方法;可以这样定义:
public class Student{
private String name; //定义名字属性
private String score; //定义学分属性
public void play{ //定义类的行为方法
System.out.println(name+"在打篮球");
}
}
在主程序中可以定义一个类中的对象,这个定义好的对象就可以调用自己的属性和方法;如
Student Stu1 = new Student();//定义一个对象Stu1
Stu1.setName="小明"; //定义Stu1的name为小明,setName是一个设置name的方法
Stu1.play(); // 将输出"小明在打篮球"
构造方法与普通方法的区别:1.构造方法名与类名相同 2.构造方法不申明返回类型,返回值的类型是方法名 3.构造方法调用的时候用new调用。
构造方法用途:1.初始化属性 2.实例化对象
在主函数中可以根据需要选用构造方法,如果重载了构造方法,则默认的构造方法(无参)就失效了,如果还想使用默认的构造方法,则必须在类中声明。
方法重载:
即可以在一个类中定义多个相同名称的方法,但这些方法必须因为有无参数值,参数类型的或种类者顺序不同而可以唯一区分。
其用途就是:可能有多种方法完成同样的事,比如从宿舍到学校,可以用走路的方法或者骑自行车的方法。
this关键字:this关键字在类中指代当前对象。相当于每个人都可以用”我“一样,具体到哪个人,就指哪个。
用途:1.区分形参名与属性 ,在定义构造方法时调用另一个构造方法。
如创建如下二个构造方法:
public class Student{
public Student(){
}
public Student(String name){
this.name=name;// 加this后,后面的name就区分不是”形参“中的name
}
public Student(String name, int score){
//调用上一个构造方法(调用构造方法主要根据实参来区分调用哪个构造方法)
this.Student(name);
this.score=score;
}
}
在程序中我们可以定义一个类,这个类是根据对象的特征和行为定义的。
在类中我们可以定义属性和方法,属性即对对象的特征描述,方法是对对象的行为定义;如定义一个学生类,学分和名字是他们的属性,学生在打篮球是一个类行为的一个方法;可以这样定义:
public class Student{
private String name; //定义名字属性
private String score; //定义学分属性
public void play{ //定义类的行为方法
System.out.println(name+"在打篮球");
}
}
在主程序中可以定义一个类中的对象,这个定义好的对象就可以调用自己的属性和方法;如
Student Stu1 = new Student();//定义一个对象Stu1
Stu1.setName="小明"; //定义Stu1的name为小明,setName是一个设置name的方法
Stu1.play(); // 将输出"小明在打篮球"
构造方法与普通方法的区别:1.构造方法名与类名相同 2.构造方法不申明返回类型,返回值的类型是方法名 3.构造方法调用的时候用new调用。
构造方法用途:1.初始化属性 2.实例化对象
在主函数中可以根据需要选用构造方法,如果重载了构造方法,则默认的构造方法(无参)就失效了,如果还想使用默认的构造方法,则必须在类中声明。
方法重载:
即可以在一个类中定义多个相同名称的方法,但这些方法必须因为有无参数值,参数类型的或种类者顺序不同而可以唯一区分。
其用途就是:可能有多种方法完成同样的事,比如从宿舍到学校,可以用走路的方法或者骑自行车的方法。
this关键字:this关键字在类中指代当前对象。相当于每个人都可以用”我“一样,具体到哪个人,就指哪个。
用途:1.区分形参名与属性 ,在定义构造方法时调用另一个构造方法。
如创建如下二个构造方法:
public class Student{
public Student(){
}
public Student(String name){
this.name=name;// 加this后,后面的name就区分不是”形参“中的name
}
public Student(String name, int score){
//调用上一个构造方法(调用构造方法主要根据实参来区分调用哪个构造方法)
this.Student(name);
this.score=score;
}
}