面对对象特征之一:封装和隐藏
Java中通过数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对属性的操作。
四种访问权限修饰符
在同一个java文件中可以写多个的class,但是只有一个public,其他的只能是缺省的。
public class Test{......}class T0{//缺省}
类的构造方法
new对象实际上就是调用类的构造方法。
构造器重载,就是为了方便调用方可以灵活的创建出不同需要的对象。
关键字—— this
this在方法内使用,即这个方法所属对象的引用。
this在构造器内部使用,表示该构造器正在初始化的对象。
this表示当前对象,可以调用类的属性、方法和构造器;当在方法内需要用到调用该方法的对象时,用this。
public class Person{public Person(){}public Person(int age){this.age = age;}public Person(String name){this();//调用public Person()this.name = name;}public Person(int age, String name){this(1);//调用public Person(int age)this.age = age;this.name = name;}int age;String name;}
注意:
1、使用this()必须放在构造器首行。
2、使用this调用本类中其他的构造器,保证至少有一个构造器是不用this的。
JavaBean
JavaBean是一种Java语言写成的可重用组件。
JavaBean是指符合以下标准的Java类:
1、类是公有的。
2、有一个无参的公共的构造器。
3、有属性,属性一般是私有的,且有对应的get、set方法。
生成get、set方法的快捷方式:
点击鼠标右键,选择Source中的Generate Getters and Setters,系统自动生成。
面对对象特征之二:继承
extends关键字
子类不是父类的子集,是对父类的“扩展”。
继承规则:
子类不能直接访问父类中私有的(private)的成员变量和方法,可以通过setter或getter进行访问。
每一个子类都有唯一的父类,单继承。
如果子类和父类在同一包下,那么对于父类的成员修饰符只要不是私有的private,那子类就可以使用;
如果子类和父类不在同一包下,子类只能使用父类中的protected和public修饰的成员。
public class Person(){//父类int age;String name;public void printInfo(){System.out.println(age);System.out.println(name);}}public class Student extends Person(){//子类int grade;public void printInfo2(){System.out.println(grade);}}
方法的重写
定义:在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
要求:
重写方法必须和被重写方法完全相同。
重写方法不能使用比被重写方法更严格的访问权限。
重写和被重写的方法必须同时为static,或同时为非static。
子类方法抛出异常不能大于父类被重写方法的异常。
快捷方法:alt + \