第一部分 概念理解及用法总结
一.类与对象的概念
所有的编程问题,都是为了解决现实中的问题。
所以类作为一个基本的单位,或者说是一种数据类型,是从现实生活中或者是思维中抽象出来的模型,是主观的(不同的人对同一问题抽象出来的类不同)、抽象的、一类现实事物的集合,用于解决实际问题。
而对象则是具有类的特征的、客观的、实际的,具体的现实中的实体。
例如:张三是人这个类的一个对象
二.类的组成
1.每一个类都具有相应的属性和方法(行为)。
例如:人是一个类
属性:姓名,身高,年龄,性别…………
方法:吃饭,睡觉,唱歌,跑步…………
2.类的方法又包括普通方法和构造方法
普通方法的格式:public 返回类型 方法名(参数类型 参数名){}
构造方法的格式:public 类名(数据类型 参数名){}
(*)若类中没定义构造方法,则系统默认生成一个默认的无参构造方法,只是 这个函数方法体
中什么都没有。
区别: 1.命名方式不同 普通方法根据一般命名规则命名,构造方法名同类名
2.普通方法一定有返回值数据类型,而构造方法无返回值数据类型
3.用途不同 普通方法用途:表示对象的行为
构造方法用途:
1).实例化对象 类名 对象名 = new 构造方法();
2).初始化对象的属性 类名 对象名=new 构造方法(“张三”);
三.方法重载
普通方法和构造方法都可以进行重载。
1.方法重载的条件:(1).方法名相同
(2).方法的参数个数,参数类型和参数顺序必须有一个不同
(一“同”一“不同”)
2. 如何调用
方法名相同,所以根据参数的个数,类型和顺序不同,判断调用哪一个函数。
3.什么情况下使用
当一个类中的不同对象的属性个数、类型或顺序不同时,需要使用构造函数。
四.this关键字
用途:1.用于区分相同的属性名和参数名 加this.的表示属性,没有家的表示参数
2.用于调用当前类中的构造方法(this后括号内的参数形式与所调用的构造方法相同)
五.值传递与引用传递
1.值传递 (1).适用范围:适用于基本数据类型(8个)和String数据类型
(2).传递方式:单项传递
2.引用传递 (1).适用范围:引用类型(类,接口,抽象类与数组)
(2).传递方式:传递的是地址(双向传递)
第二部分 如何用程序语言来实现
1.定义一个类
(1).首先新建一个命名为 类名.java 的文本文件
(2).定义类的基本格式: public class 文件名{}
(3).定义类中属性的格式: private 数据类型 属性名;
类的属性一般定义为私有的,因为私有数据类型不可以被类外的函数调用,所以每一个属性值要
定 义以下两个函数(set和get):
public void set属性名(参数类型 参数名)
{属性名=参数名;}//把主函数中传过来的实参赋给属性名
public 属性数据类型 get属性名()
{return 属性名;}
(4).定义方法的格式:
public 返回类型 方法名(参数类型 参数名){}
2.实例化一个对象的格式:
类名 对象名 = new 类名();
例如:定义一个学生类
public class Student{
/定义学生类的/属性
public String name;
public int score;
//构造方法
public Student(String name){
System.out.println("调用了!");
this.name = name;
}
//构造方法重载
public Student(){
this("无名");//this关键字 表示要调用当前类中带一个字符串参数的构造方法。
}
//定义学生类的方法函数:学习
public void study(){
score++;
System.out.println(name+"学生正在学习,学分是"+score);
}
//学习方法的重载
public void study(int score){
this.score += score;
System.out.println(name+"学生正在学习,学分是"+this.score);
}
//定义玩的方法
public void play(){
score--;
}
}