java 方法变量_(个人笔记)java中的方法和变量

就我目前所学(未进阶) ,有错误或不规范求指出,谢谢!

一、方法:

java中的方法语法格式为:

[修饰符列表] 返回值类型 方法名(形式参数列表){

//方法体;

}

java中有三种方法:静态方法、构造方法、实例方法。

1、静态方法

语法:

public static 放回值类型 方法名 (形参){

//方法体;

}

调用静态方法:

类名 . 方法名(实参);

注意:静态方法顾名思义就是静态的,不用创建对象即可调用。当你的方法体中没有实例变量时可以选择静态方法。

2、构造方法

语法:

public 方法名(形参){ //注意方法名和类名相同

//方法体;

}

调用构造方法:

new 方法名(实参);//方法名即类名,此语法也是创建对象的语法。

注意:构造方法,它的作用有两个,一个是创建对象,一个是给对象赋值。我们调用构造方法时一般不是简单写上面的语法,而是补充了一些代码,如

Student xiaoMing = new Student();

//或者同时初始化

Student xiaoMing = new Student(实参);

//此语法可以类比刚开始学会的

int i = 10 ;

/*int和Student都是数据类型,i和xiaoMing都是一个“名”,

new Student(实参)和10其实是类似的,即一个“对象”和“数值”

*/

在一个类中,养成一个好习惯,写下无参构造方法

public 类名(){

//方法体;

}

3、实例方法

语法:

public 返回值类型 方法名(形参){

//方法体;

}

调用实例方法:

//先创建一个对象,如

Student xiaoMing = new Student();//省略了Student类代码,且不初始化值

//有了对象才能调用实例方法,根本原因可通过内存图了解

//调用方法:

引用 . 方法名(实参);//引用即xiaoMing , 注意不是类名 . 方法名();根本原因也可通过内存图了解!

注意:区分好实例方法和静态方法,区别在于一个有static一个没有。利用一个类来创建一个对象时我们可称为将其实例化,可根据这个来理解实例方法。实例方法是作用于对象上的,没有对象也就无法调用实例方法。

变量:java中有三种变量,局部变量、实例变量、静态变量(实例变量和静态变量合称为成员变量)。

首先,局部变量位于方法体内,成员变量位于方法体外!简单理解就是一个在大括号内一个在大括号外。

1、局部变量

局部变量就是最开始学习的变量,很简单,举个例子就好

public class Text{

public static void main(String[] args){

int i = 1 ;//方法体内,局部变量

//调用方法:直接变量名就可以了,没有什么类名和引用(不用学着学着学乱了)

System.out.println(i);//输出1

}

}

2、静态变量和实例变量

静态变量需要掌握的不多,我们要将它和实例变量一起来看。

它们的区别有两点:一是定义,二是调用

//定义

class A{

int i ;//没有static,且在方法体外,为实例方法

static int t ;//有static,且在方法体外,为静态方法

//养成一个好习惯,封装变量

privete int i ;

//不确定是否要封装静态变量。就先不封装吧。不过封装是可以编译的,只不过需要一个方法来调用

//private static int t ;//private和static谁前谁后没关系,不过注意静态变量不需要setter方法,因为不想让人修改嘛

static int t = 1 ;

}

//调用

//根据内存图可知,静态变量位于方法区,而实例变量位于堆内存

//所以实例变量需要“引用.方法名”调用(有引用,故需先创建对象)

//而静态变量规范上我们使用“类名.变量名”调用

测试:

//中国人 类

class Chinese{

//无参静态方法

public static void wuChang(){

System.out.println("无参静态方法执行了");

}

//有参静态方法

public static int jiaFa(int a , int b ){

System.out.println("有参静态方法执行了。"+ a + "+" + b + "=" + (a+b));

return (a+b) ;

}

//实例变量

private int old ;

//静态变量,封装????有什么意见请交流一下,我觉得应该封装

static String guoJi = "中国";

//无参构造方法

public Chinese(){

System.out.println("无参构造方法执行了");

}

//有参构造方法

public Chinese(int old){//此处的old为局部变量

this.old = old ;//this.old 为前面实例变量的old,等号右边的old为上一行的局部变量old

System.out.println("有参构造方法执行了,并初始化了年龄为:"+old);

}

// setter and getter(也就是实例方法)

public void setOld(int old){

if(old > 100 || old < 1 ){

System.out.println("非法年龄");//封装的好处:防止bug,如初始化年龄为1000岁。

return ;

}

this.old = old ;

}

public int getOld(){

return old ;

}

}

//测试类(不要把类和测试类写在同一个文件中)

class ChineseText{

public static void main(String[] args){

//调用静态方法,无需创建对象,直接类名.方法名();

Chinese.wuChang();

Chinese.jiaFa(1 , 3 );

//调用静态变量,规范上使用类名.变量名;

System.out.println("静态变量为:"+Chinese.guoJi);

//调用实例变量和实例方法都需要先创建对象,创建对象使用构造方法

Chinese people1 = new Chinese();//调用的是无参构造

Chinese people2 = new Chinese(18);//调用有参构造方法

//调用实例变量,使用get实例方法,引用.方法名();

System.out.println("get方法执行。people2 的年龄为:"+people2.getOld());

//给实例变量赋值,使用set实例方法,引用.方法名(实参);

people2.setOld(24);

System.out.println("set方法执行。修改people2 的年龄为:"+ people2.getOld());

people2.setOld(1000);//bug

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值