写在前面:
大家好,我是 花狗Fdog ,来自内蒙古的一个小城市,目前在泰州读书。
很感谢能有这样一个平台让我能够在这里分享所学所感。
我喜欢编程,喜欢代码,喜欢去做一个程序员。
努力学习,争取多年后,给亲人更好的生活。
QQ/WX:2506897252 欢迎交流。
0.先看一个代码
package number;
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类引用
}
}
1.成员变量
类的成员变量分为类变量(又称静态变量,被static修饰的变量)和实例变量(不被static修饰的变量),此外,还有定义在函数内部的变量称为局部变量,仅在函数内部有效。
比如上述代码中:
private String name; 这就是定义一个String类型的成员变量(实例变量)。
现在先不管变量类型前面的修饰符。
2.成员方法
上述代码,包含了getName()和setName()两个成员方法,这两个成员方法分别获取图书名称和设置图示名称的方法。
定义成员方法的语法格式如下:
权限修饰符 返回值类型 方法名(参数类型 参数名 )
{
具体执行代码
return 返回值
}
如果成员方法无返回值,可用void表示。
在成员方法中可以调用其他成员方法和类成员变量,如上述代码中getName()调用了setName()方法。
需要注意的一点是如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行。
3.权限修饰符
java中的权限修饰符主要包括private,public,protected,,这些权限修饰符控制着对类和类的成员变量,成员方法的访问,如果一个类的成员变量或成员方法被修饰private,则该成员变量或成员方法只能在本类中被使用,在子类中式不可见的,也就是自己都有。如果一个类的成员变量或成员方法被修饰public,那么除了可以在本类中使用这些数据之外,还可以在子类和其他包的类中使用,也就是自己大公无私,一视同仁,如果一个类的访问权限被设置为private,这个类将隐藏其内的所有数据,以免用户直接访问它,如果一个类的成员变量或成员方法被修饰protected,那么只能本包内的类或者子类可以访问。相对于public,protected比较小气,但是比private大气。
访问包位置 | private | protected | public |
---|---|---|---|
本类 | 可见 | 可见 | 可见 |
同包其他类或子类 | 不可见 | 可见 | 可见 |
其他包的类或子类 | 不可见 | 不可及 | 可见 |
当声明类时不使用public,private , protected 这些修饰符时,只有一个包中的类和子类可以调用这个类的成员变量以及方法。而且java语言规定,类的权限约束类成员的权限设定。比如一单类被修饰为private,但是类成员为public,但是还是无法使用类成员。
权限比较:private >protected >public
4.局部变量
上述代码中,int id=0; id被定义在函数内部,所以叫局部变量。局部变量在方法被执行时创建,在方法执行结束时被销毁。局部变量在使用时必须进行赋值操作或者被初始化,否则会出现编译错误。
5.局部变量的有效范围
局部变量的有效范围就是变量的作用域,如果在该方法开始处被定义,那么作用域就是该方法结束,如果变量在方法中的for语句中被定义,那么该变量作用域只有该for执行完毕。
6.this关键字
可以看到上述代码中的this.name=name语句,在方法setName()方法,形参名为name,成员变量为name,那么该怎么区别?在java语言中规定使用this关键字来代表本类对象的引用。this关键字被隐式地用于引用对象的成员变量和方法,,this相当于对象的衍生品,谁调用this就指谁,对象可以调用成员变量和成员方法,this关键字也可以,除此之外,this还可以作为方法的返回值。如代码最后 return this;在getBook()方法中,方法的返回值为Book类,所以方法体中使用return this这种形式将Book的对象进行放回。
若有错误,欢迎指正批评,欢迎讨论。
每文一句:别人讲我们不好,不用生气、难过。说我们好也不用高兴,这不好中有好,好中有坏,就看你会不会用?