一、课前测试
1、类和对象的关系
类是对象的抽象,对象是类的具体化
2、创建对象的语法
类名 对象名 = new 类名();
3、对象的使用方法的语法
对象名.属性
对象名.方法();
4、方法的四个要素
访问修饰符,返回值类型,方法名,方法主体;
有返回值则需要return语句,如果返回值类弄为void则不写returny语句;
5、定义和使用一个有返回值的方法
public int add(){
int sum = 0;
sum += sum;
return sum;
}
public static main(String[] args){
int a = add();
System.out.println(a);
}
6、 什么是方法的重载
方法名相同,返回值类型无关,参数列表必须不同
同名不同参:使用不同类型的参数,会产生不同的结果
二、方法参数
1、带参数的方法
定义带参数的方法
访问修饰符 返回类型 方法名(形式参数列表){
方法的主体;
}
调用带参数的方法
对象名.方法名(参数1,参数2,........,参数n);
2、使用带参方法时
1)、传的参数类型要与定义的方法参数一致
2)、传的参数个数要与定义的方法个数一致
3)、传的参数顺序要与定义的方法顺序一致
3、基本数据类型与引用数型类弄传参区别
示例:
输出结果为:8---19
1、基本数据类型在别处被重新赋值,则本体不受影响,其值不变;
2、引用数据类型在别处被重新赋值,则本休随之改变,其值为改变后的值
3、使用基本数据类型,相当于将本体复制一份拿到别处使用,本体不会受到影响,不会对本体重新赋值
4、使用引用数据类型,则是把整个地址拿过去用,当改变其值时,首先这个地址不在指向原来的值,而是重新指向一个新值;
因些当我们重新查看这个地址时,其指向的值为改变之后的值;
三、构造方法
1、每个类都有一个无参构造方法
2、方法名与类名一样
3、作用是用来创建象
4、无返回值类型
访问修饰符 构造方法名(){
//构造方法
}
四、构造方法重载
同名不同参
特点:在同一个类中,方法名相同,参数列表不同,与访问修饰符和返回值类型无关
补充:参数列表不同是指参数的个数不同或者参数的类型不同
五、this表示当前对象,可以点属性和方法,如果是调用构造方法,必须是第一语句
六、成员变量与局部变量
成员(全局)变量和局部变量的区别
1、作用域不同
局部变量的作用域仅限于定义定的方法
成员变量的作用域在整个类内部都是可见的
2、初始值不同
JAVA会给成员变量一个初始值
JAVA不会给局部变量赋予初始值,需要自己赋初始值
PS:
在同一个方法中, 不允许有同名局部变量
在不同的方法中,可以有同名局部变量
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级(就近使用)
七、作业
1、阅读以下代码,看看输出结果是什么,并解释原因
package com.java_1_15; public class MobilPhone { public String brand; public MobilPhone() { this.brand = "诺基亚"; } public MobilPhone(String bra) { this.brand = bra; } public String buy() { return "没发工资,买一个"+brand+"牌子的手机吧!"; } public String buy(String reason) { return reason+",快买一个"+brand+"牌子的手机吧!"; } }
package com.java_1_15; public class MobilPhoneTest { public static void main(String[] args) { MobilPhone mp = new MobilPhone(); mp.brand = "苹果"; String detail = mp.buy("发工资啦"); System.out.println(detail); } }
MobilPhone mp = new MobilPhone();//创建MobilPhone类的对象mp
mp.brand = "苹果";//给类的成员变量赋值
String detail = mp.buy("发工资啦");//调用buy(String reason)方法,并返回一个String类型的值给变量detail
System.out.println(detail);//输出变量detail的值
结果为:发工资啦,快买一个苹果牌子的手机吧!
2、实现简易计算器,分别实现两个整数和三个浮点数的加法
package com.java_1_15; /** * 加法类 * @author Administrator * 2019-1-15 */ public class Add { public int add(int num1,int num2) { return num1 + num2; } public double add(double num1,double num2,double num3) { return num1 + num2 + num3; } }
package com.java_1_15; /** * 实现简易计算器,分别实现两个整数和三个浮点数的加法 * @author Administrator * 2019-1-15 */ public class AddTest { public static void main(String[] args) { Add a = new Add(); System.out.println(a.add(3, 4)); System.out.println(a.add(3.5, 4.6, 8.9)); } }
结果:
八、总结
1、基本数据类型作为参数在传递时传递的是值
引用数据类型作为参数在传递时传递的是地址
2、成员变量与局部变量
1、成员变量可以在整个类里使用,局部变量只能在定义的方法里使用
2、系统会为成员变量赋初始值,但是局部变量不会,需要手动赋初始值
3、如果在同一个类中出现相同名字的的成员变量与局部变量,局部变量的优先级高于成员变量
3、方法重载:同名不同参
4、构造方法的作用是创建对象
访问修饰符 构造方法名(){
//构造方法;
}