Java中的类

成员变量

  • 在Java中对象的属性也称为成员变量。例如,首先定义一个图书类,成员变量对应于类对象的属性
    在Book类中设置一个成员变量name,对应于图书名称。
package com.company;

public class Book {
    private  String name;      //定义一个String型的成员变量
    
    public  String getName(){         //定义一个getName()方法
        int id=0;
        setName("Java");
        return id+this.name;
    }
    private void setName(String name){     //定义一个setName()方法
        this.name=name;              //将参数赋予类中的成员变量
    }
    public  Book getBook(){
        return this;       //返回Book类引用
    }
}

成员方法

  • 以Book类为例,它包含getName()和setName()两个方法
  • 定义成员方法的语法格式如下:
权限修饰符 返回值类型   方法名    (参数类型    参数名){
      .....//方法体
      return   返回值  ;
}

注意:Java中的成员方法无返回值,可以使用void关键字表示

权限修饰符

在这里插入图片描述
当声明类时不使用public。protected和private修饰符设置类的权限,则这个类预设为包存取范围,即只有一个包中的类可以调用这个类的成员变量或成员方法

局部变量

  • 如果在成员方法内定义一个变量,那么这个变量被称为局部变量
  • 局部变量是在方法被执行时创建,在方法执行结束时被销毁,局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误

在这里插入图片描述

this关键字

在项目中创建一个类文件,该类中定义了setName(),并将方法的参数值赋予类中的成员变量

private void setName(String name){     //定义一个setName()方法
   this.name=name;             //**将参数值赋予类中的成员变量**
}
  • 在Java语言中规定使用this关键字来代表本类对象的引用,this关键字被隐式地用于引用对象的成员变量和方法。
  • 在上述代码中,this.name指的就是Book类中的name成员变量,而this.name=name语句中的第二个name指的是形参name,实际上setName()方法实现的功能就是将形参name的值赋予成员变量name

既然this关键字和对象都可以调用成员变量和成员方法,那么this关键字与对象之间具有怎样的关系呢?

上述代码中,如果省略this关键字直接写成 name=name,那只是把参数name赋值给参数变量本身而已,成员变量name的值没有改变,因为参数name在方法的作用域中覆盖了成员变量name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值