7.Java语言类的关键技术
7.1类的成员的权限修饰符
private:表示仅能在类的内部访问该成员,无法从类的外部访问该成员
public:表示该成员可以被其他的任何类使用
缺省:表示该成员仅能被同一个包中的类所访问或者调用
7.2方法的重载
实现相同的操作,需要创建多种方法,此时,当使用方法时不方便,就会用到方法重载
方法重载:
定义方法时,方法名称相同,参数列表不同
方法重载属于多态的一种
public class Work1 {public static void main(String[] args) {Student st = new Student();System.out.println(st.and(2, 5));System.out.println(st.and(3.4, 2.2));}
}
class Student{public int and(int a,int b){return a+b;}public double and(double a,double b){return a+b;}
}
7.3构造方法(构造器)
7.3.1构造方法的作用和定义
构造方法作用
是一种特殊的方法,在对象被创建时初始化对象的成员的方法
构造方法定义
构造方法的方法名和类名称完全相同
构造方法没有返回值,但是也不能用void修饰符
构造方法只能在对象创建时被调用,也就是new的时候调用,不能在程序中直接调用,不同于一般的方法
public class Work1 {public static void main(String[] args) {Student st = new Student(2,6);System.out.println(st.area());System.out.println(st.volume());}
}
class Student{private double radius;private int height;private double pi = 3.14;public Student(double r,int h){radius=r;height=h;}double area(){return pi*radius*radius;}double volume(){return area()*height;}
}
7.3.2默认的构造方法
默认构造方法格式
Student(){
}
如果class前面是public,则构造方法也是public
如果程序中没有显示的构造方法,则系统会提供默认的构造方法
如果程序中含有显示的构造方法,则系统不再提供默认的构造方法
7.3.3构造方法的重载
一个类中可以包含多个构造方法,它们之间构成方法重载(有参构造器,无参构造器)
从一个构造方法调用另一个构造方法
调用时不需要方法名称,使用关键字this代替,参数根据需要填写
this关键字必须写在构造方法内的第一行位置
public Student() {this(2.5,6);}public Student(double r, int h){radius=r;height=h;}
this关键字
this代表指向当前对象的引用
如果引用当前类的方法,变量或者返回当前类的对象时,用this关键字
在类的构造方法中可以调用类的其他构造方法,且只能调用一个构造方法
this只能在方法的定义中使用