目录
1.无参方法与带参方法的比较
//无参方法
public 方法名(){
方法的主体
}
//带参方法
(访问修饰符) 方法名(参数列表){
方法的主体
}
//无参方法的调用
对象名.方法名()
//带参方法的调用
对象名.方法名(参数1,参数2,参数3....)
2.示例
//无参方法
public void eat(){
System.out.println("我要吃饭");
}
//带参方法
public void eat(String name){
System.out.println(name+"要吃饭");
}
public static void main(String[] args) {
//创建对象
person person = new person();
//调用无参方法
person.eat();
//调用带参方法
person.eat("zp");
}
3.方法的重载
通过上面的代码,我们可以发现存在两个eat方法,但没有报错,这是因为出现了方法重载的现象。
方法的重载:是指多个方法,他们执行类似操作,具有相同的方法名,但是有不同的参数,这样的多个方法称之为方法重载。
2、构成方法重载的3个条件:
- 方法名相同
- 参数不同(参数类型不同,参数个数不同,参数类型顺序不同)
- 方法要在同一个作用域中:目前就是要在同一个类中
4.成员变量和局部变量
public class Demo {
//成员变量:类中定义的变量
变量类型 变量1;
变量类型 变量2;
变量类型 变量3;
.....
//局部变量:方法中定义的变量
pubilc void 方法1(){
变量类型 变量4;
}
pubilc void 方法2(){
变量类型 变量5;
}
.....
}
注意:
作用域不同:局部变量的作用域仅限于定义它的方法,在方法内无法访问。成员变量的作用于在整个类内部都是可见的,所有成员方法都可以使用,如果访问权限允许,还可以在类外部使用成员变量。
5.this关键字
this可以调用本类成员变量和方法
public class Demo {
//成员变量
String name;
//局部变量
public void GetName(String name){
System.out.println(this.name);//zp
System.out.println(name);//lzq
}
}
public class test {
public static void main(String[] args) {
//创建对象
Demo demo = new Demo();
//给Demo类的name成员变量赋值
demo.name = "zp";
//给Demo类中的GetName方法中的name局部变量赋值
demo.GetName("lzq");
}
}
6.权限修饰符
7. Java类中如何做好封装(回答上一篇博客)
java类中如何做封装:
- 将属性私有化(使用private权限修饰符修饰成员变量)
- 为私有化的属性提供两个方法(为属性赋值的方法和值的获取属性方法)
public class Demo {
private String name;
private int age;
/*值的获取属性方法
*return:返回的意思,用来退出整个方法,带出结果。return后面的代码不会被执行。
*<1>如果不需要返回,则返回值类型为void,void是空的意思,即返回空。
*<2>如果需要返回,则需要使用return返回一个值,那么这个值得数据类型就是返回值类型。
*/
public String getName() {
return name;
}
//为属性赋值的方法
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class test {
public static void main(String[] args) {
Demo demo = new Demo();
//赋值
demo.setName("zp");
demo.setAge(20);
//获取值
System.out.println(demo.getName()+"已经"+demo.getAge());
}
}