类的无参方法与带参方法

目录

目录

1.无参方法与带参方法的比较

2.示例

3.方法的重载

4.成员变量和局部变量

5.this关键字

6.权限修饰符

7. Java类中如何做好封装(回答上一篇博客


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个条件:

  1. 方法名相同
  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类中如何做封装:

  1. 将属性私有化(使用private权限修饰符修饰成员变量)
  2. 为私有化的属性提供两个方法(为属性赋值的方法和值的获取属性方法)
  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());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ikun8848

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值