Java中的变量与方法

一、变量

变量分为成员变量和局部变量。变量可以在声明时赋初值,如果没有赋初值则使用默认值,如String 类型默认值是null,int是0,类中的变量名不能与类名重名
在这里插入图片描述
1、成员变量:定义在类体之中,方法之外的变量,是类的成员变量。类中的方法都能够使用它们(注意静态的区分)。成员变量基于是否被static(静态)修饰,分为两种:静态变量和非静态变量
(1)实例变量:没有被static修饰的变量(即非静态变量),有时直接称实例变量为成员变量。实例变量每个不同对象有它自己的一份实例变量地址,改动时只改自己的。实例变量,必须通过对象实例来进行调用,所以叫做实例变量。
(2)类变量: 被static修饰的变量(即静态变量)。静态变量在类中只有一份拷贝,一旦改动,所有对象的静态变量都会改动。由于静态变量可以直接被 类名.静态变量的方式进行调用,所以叫做类变量。
注意:在静态方法中不能调用非静态变量,只能调用静态变量。
在非静态方法中,既能调用静态变量也能调用非静态变量。
2、局部变量:在方法中或者if、for等语句块范围内定义的变量,只能局部使用,出了方法或者出了语句块,这个变量就是未定义的。
3、常量:值不允许变化的变量,变量名需要大写。 由 final修饰,通常规范加上static修饰。
举例给一只猫定义变量:

public int age = 0;//实例变量
public double month;//实例变量
public String color;//实例变量
public String leg = "毛茸茸的爪子";//实例变量
public static String kind=cat;//类变量
public static final String KIND = "家猫";//常量

二、方法

1、方法的构成:修饰符+返回类型+方法名+(参数列表) +{ 方法体 }
(1)所有的方法都有返回类型和return语句,只不过void方法返回为空,return语句默认隐式加在最后,不显示。
(2)指定了返回类型的方法,必须使用return值返回对应的类型的结果,注意如果出现条件语句,必须保证每个条件最后都有返回结果。
(3)参数列表中,列举的只有参数的类型和参数的名称,并没有值,此时参数列表只是个形式,因此被称为形式参数,形参列表;参数值需要在方法被调用时传递给方法使用,有了实际值,则被称为实参。
2、方法的分类
(1)实例方法: 没有被static修饰的方法,即非静态方法,需要完成实例化对象之后才会分配内存空间。非静态的方法中,既能使用非静态的变量和方法,也能使用静态的变量和方法;非静方法态可以调用静态和非静态。
实例方法举例:

public String eat(String food) {
		if (food.equals("小鱼干")) {
		    return "非常开心";
		}
		else if (food.equals("小青菜")){
			return "不想理你";
		}
		else {
			return "喵喵的叫";
		}		
	}

(2)类方法: static 修饰的方法,即静态方法, 能够用类名直接调用,无需实例化。静态方法中,不能调用非静态的方法,也不能调用非静态的变量,它调用的东西必须是静态的,静态方法只能调用静态。
类方法且返回为空举例:

public static void eat(String food) {
		if (food.equals("小鱼干")) {
		    System.out.println( "非常开心");
		}
		else if (food.equals("小青菜")){
			System.out.println( "不想理你");
		}
		else {
			System.out.println( "喵喵的叫");
		}		
	}

3、静态方法为什么不能调用非静态方法或变量
类在通过java环境进行编译的时候,就会为静态的方法和变量创建内存空间来进行存储,这时就可以使用静态方法和变量;但实例方法和实例变量,必须要在对象实例化之后,才会分配内存空间来进行存储。编译的流程为:类编译–>静态变量静态方法–>实例化对象–>实例变量、实例方法;即实例方法生成在后,有静态的方法的时候,还没有实例方法,所以无法调用。
4、构造方法
构造方法的方法名和类名同名,没有返回类型和参数列表,类中,默认有隐式无参的构造方法,也就是不显示,用于完成对象的实例化。如果显式地声明了构造方法,则原来的隐式构造方法失效。另外注意:不要用类名作为自己编写的普通方法的名字。尤其注意:如果显式声明了有参的构造方法,又想使用无参的构造方法的话,记得显式声明一下无参的构造方法,从而产生重载。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦里有阳光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值