类
构造一个类我们需要设定
权限修饰符 返回值类型 方法名(参数类型 参数名)
{
...//方法体
return 返回值;
}
一个成员方法可以有参数,这个参数可以是对象,也可以是基本数据类型的变量,同时成员方法有返回值和不返回任何值的选择,如果需要返回值,就需要在方法体中使用return关键字,return之后这个方法执行就会被终止。
但是注意返回值一定要与成员方法的返回值类型一样。
权限修饰符:
访问包位置 | private | protected | public |
本类 | 可见 | 可见 | 可见 |
同包其他类或子类 | 不可见 | 可见 | 可见 |
其他包的类或子类 | 不可见 | 不可见 | 可见 |
默认访问权限:
当我们创建如下没有权限修饰符的类时:
class Anything{
public void doEverything(){
..//方法体
}
}
默认修饰符,就是只有一个包内的其他类和子类可以对该类进行访问,而AnyClass类中的doEverything方法被修饰为public权限,但它会跟从Anything的权限。Java语言规定,类的权限设定会约束类成员的权限设定,所以即使把public换成任何诸如private或者没有,效果都是一样的。
this关键字
最开始学的时候对这个this关键字很不熟悉,不知道到底在指代什么。
那么我在此举几个例子
private void setName(String name){
this.name = name;
}
一般而言,类似这种定义我们会发现两个name一个是全局变量,一个是形参,那么当我们想要修改全局变量的时候我们不清楚究竟有没有改变全局变量,因为往往我们都希望通过参数来改变全局变量。
再看另一种用法
public Book getBook(){
return this; //返回Book类引用
}
此时的应用就是方法的返回值。
类的构造方法:
构造方法的特点:
构造方法没有返回值,构造方法的名称要与本类的名称相同。
public book(){
... //构造方法体
}
book是方法的名称
例子:
public class Anything{
public Anything{
this("this 调用有参构造方法"); //定义无参构造方法
System.out.println("无参构造方法"); //使用this调用有参构造方法
}
public Anything(String name){
System.out.println("有参构造方法"); //定义有参构造方法
}
}
看倒定义了两个构造方法,在无参构造方法中可以使用this关键字调用有参的构造方法。但使用这种方式需要注意的是只可以在无参构造方法中的第一句使用this调用有参构造方法。