/**
* 用户
* @author Administrator
* @date 2018/1/30 0030
*/
public class Person {
String idCard;
String name;
char sex;
public Person() {
}
public Person(String idCard, String name, char sex) {
this.idCard = idCard;
this.name = name;
this.sex = sex;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Person{" +
"idCard='" + idCard + '\'' +
", name='" + name + '\'' +
", sex=" + sex +
'}';
}
}
/**
* 学生继承(extends)父类Person:子类继承父类非private的属性和方法,主要实现代码的复用
* 继承后,子类如何调用父类中的方法:
* super.方法名()调用父类方法 super(); 调用父类的无参构造方法 super(参数); 调用父类的有参构造方法 super.属性名:访问或者设置父类属性
* 调用子类无参构造方法时,会默认调用父类无参构造方法,如果显示调用父类的某个构造方法,就先调用父类的对应的构造方法
* final修饰的类不允许有子类,限制某个类没有子类,不允许被继承
* final修饰成员变量:一定要初始化,而且值不能被修改,只能被赋值一次
* final修饰形式参数
* public final static 这里修饰是常量,不允许被修改
* @author Administrator
* @date 2018/1/30 0030
*/
public class Student extends Person {
/**
* final修饰成员变量:一定要初始化,而且值不能被修改,只能被赋值一次
*/
public final int num = 22;
String snumber;
String classNo;
public String getSnumber() {
return snumber;
}
public void setSnumber(String snumber) {
this.snumber = snumber;
}
public String getClassNo() {
return classNo;
}
public void setClassNo(String classNo) {
this.classNo = classNo;
}
public Student() {
/*默认调用父类的无参构造方法*/
/* super();*/
}
/**
* 修饰形式参数:修饰的基本数据参数,一般用于绑定传入的实参的值,不允许被修改
* 加入传入一个sex就会新创建一个地址
* final修饰的对象类型,绑定的是对象的地址,对象内容可以改变
* @param sex
*/
public void test(final char sex){
/*sex = '男';*/
this.sex = sex;
}
public void test01(final StringBuilder name){
System.out.println(name);
name.append("很不错");
System.out.println(name);
}
/**
* super
* @return
*/
@Override
public String toString() {
return "Student{" + super.toString()+
"snumber='" + snumber + '\'' +
", classNo='" + classNo + '\'' +
'}';
}
public static void main(String[] args) {
Student student = new Student();
student.setName("sss");
student.test('女');
StringBuilder builder = new StringBuilder("加油");
student.test01(builder);
System.out.println(student);
}
}