java面向对象编程——方法

1、一个类可以包含多个字段(field),field的两种属性

  • public 外部可以直接操作
  • private 拒绝外部访问,需要通过方法(method)来间接访问

2、方法

public 方法
  • 暴露给外部的可以操作的函数
private方法
  • 类中调用,外部无法调用
this变量
  • this是一个隐含的变量,始终指向当前的实例,用法:this.field

ps:如果有局部变量和字段重名,局部变量的优先级更高

class Example{
    private String name;
    public void Set(Stirng name){
        this.name = name //如果没有this,name就是函数Set里面的局部变量,而不是类里面的字段
    }
}
参数类型
  • 固定参数

    可以包含0个到n个,给函数传参是必须保证类型一致

  • 可变参数

    • 类型... 参数名定义,相当于数组
    • 可变参数没办法接受null,传入null会被识别成0个参数,即传入一个空数组
    class Example{
        private String name;
        public void Set(String... names){//Set函数即可以接受一个可变参数,可以写成 String[] names
            this.name = names;
        }
    }
    
    参数绑定
    • 基本类型参数的传递,是调用方变量值的拷贝,双方后续操作互相不影响

    • 引用类型参数的传递,调用方变量和接收方变量指向同一个对象,任意一方对于变量的修改都会影响这个对象

      java中String类型是不可变的,一旦定义,无法修改,当发生改变时,会重新分配内存,即生成一个新的内存地址

3、学后一题

​ 一个类A有一个成员变量v有一个初值100。定义一个类对A类的成员变量v进行猜。如果大了则提示大了小了则提示小了。等于则提示猜测成功。

package Object;
import java.util.Scanner;
/**
 * @className:method;
 * @time:2022-04-13-9:18;
 * @author:Lee Ye;
 * @description:这是一个java示例;
 */
public class method {
    public static void main(String[] args){

    Scanner input = new Scanner(System.in);
    System.out.println("请输入一个数字");
    int n = input.nextInt();
    A a = new A();
    while(n != a.v)
    {
        if ( n < a.v)
            System.out.println("猜小了");
        else
            System.out.println("猜大了");
        System.out.println("请重试");
        n = input.nextInt();
    }
    if (n == a.v)
        System.out.println("猜对了");
    return ;

    }
}
class A{
    public int v = 100;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值