一、面向对象定义的形象化
类:具有同种属性的对象称为类,是个抽象的概念。比如说:汽车、人、狗、神;
对象:日常生活中的所有东西都是对象,是类的实例化。比如说:推土车是汽车的实例化;姚明是人的实例化;豆豆(狗的名字)是狗的实例化;二郎神是神的实例化;
属性:用来描述具体某个对象的特征的是属性,是静态的。比如:姚明身高2.6米多;小白的毛发是棕色的;二郎神额头上有只眼睛;
方法:每个对象有它们自己的行为或者是使用它们的方法,比如说一只狗会跑会叫等,我们把这些行为称之为方法,是动态的,可以使用这些方法来操作一个对象;
类的成员:属性和方法称为这个对象的成员,因为它们是构成一个对象的主要部分,没有了这两样东西,那么对象也没什么存在意义了
类 | 对象 | 属性(特征) | 方法(行为) |
汽车 | 推土机 | 有挖斗 | 挖土 |
人 | 姚明 | 2.6米 | 打球 |
狗 | 豆豆 | 毛发是黑色的 | 会叫 |
神 | 二郎神 | 三只眼 | 眼睛能打妖怪 |
1 public class Student {
2 //学生(属性特征) 学生有哪些:属性 姓名 性别 年龄 学号 体重
3 String name;
4 char sex;
5 int age;
6 int studentNo;
7
8 //学生(方法):吃饭 学习 锻炼身体 谈恋爱 睡觉
9 public void eat() {
10 System.out.println("吃饭");
11 }
12 public void study() {
13 System.out.println("姓名是"+name+"年龄是"+age+"性别是"+sex+"学号是"+studentNo+"在学习");
14 }
15 public void play() {
16 System.out.println("运动");
17 }
18 public void love() {
19 System.out.println("谈恋爱");
20 }
21 public void sleep() {
22 System.out.println("姓名是"+name+"年龄是"+age+"性别是"+sex+"学号是"+studentNo+"在睡觉");
23 }
24 //之上是固定的,只有需要的时候才会调用。
25
26 public static void main(String[] args) {
27
28 //学生1
29 Student stu = new Student();//创建一个对象 类名 对象名 = new 类名();;
30 stu.name = "张三";//引用类的属性:对象名 . 属性
31 stu.age = 25;
32 stu.sex = '男';
33 stu.studentNo = 1001;
34
35 stu.sleep();//引用类的方法:对象名 . 方法名();
36
37 //学生2
38 Student stu1 = new Student();
39 stu1.name = "小明";
40 stu1.sex = '男';
41 stu1.age = 23;
42 stu1.studentNo = 1002;
43
44 stu1.sleep();
45 //学生2学习
46 stu1.study();
49 }
54 }
二、方法三要素
1、方法格式
public[1访问修饰符,表示公共的] void[2返回值类型,void表示没有返回值] test[3方法名称](int num1……[参数列表,可有可无根据需求])
三、属性和方法的使用
属性的调用,需要首先使用new关键字创建对象。
public static void main(String[] args) {
Student stu=new Student();//首先创建对象
stu.name="张三";//然后使用对象名称+ . 来调用对象的属性
stu.age=25;
stu.sex='男';
stu.studentNo=1001;
}
四、return关键字
1 //return关键字在java中表示返回**值并且结束方法,通常写在方法的最后一句。
2 //返回值必须与方法名称前边声明的返回值类型一致,必须!!!
3 例如:
4 public void test(){
5 return 10;//这里会报异常,因为方法声明是没有返回值的,所以不能有return语句
6 }
7
8 public int test1(){
9 return "hello";//这里会报异常,以内方法声明返回值为int类型,而书写最终返回值为String类型,类型不匹配。
10 }
11
12 public int test2(){
13 return 10;//这种属于正常的返回值情况,定义的返回值为int,返回的数也为int类型匹配。
14 }
五、方法的重载
1 /*
2 方法重载的定义:
3 1.在同一个类中
4 2.方法名称相同
5 3.参数列表不同,包括参数个数不同,参数类型不同,参数顺序不同
6 4.跟返回值无关,即返回值是否相同不属于方法重载的必要要求。
7 例:
8 public int sum(int num1,int num2) {
9 return num1+num2;
10 }
11 public int sum(int num1,int num2,int num3) {
12 return num1+num2+num3;
13 }
14 public double sum(double num1,int num2,int num3) {
15 return num1+num2+num3;
16 }
17
18 public int sum(int num1,int num2,int num3,int num4) {
19 return num1+num2+num3;
20 }
21 以上四个称之为方法重载,提高程序的可重用性,可扩展性
22
23 public String message(String name,int age) {
24 String str="名字是"+name+"年龄是"+age;
25 return str;
26 }
27 public String message(int age,String name) {
28 return "名字是"+name+"年龄是"+age;
29 }
30 以上两个方法也属于方法重载,同样提高程序的可重用性,可扩展性。