您的位置:首页 > 其它

第二节类的继承、方法的重载、方法的重写、对象的引用和构造器

2017-03-08 23:19 225 查看
1.对象的引用Student是一个类Student stu;//定义一个变量stu=new Student();//将等号右边创建的对象的引用(地址)赋给stu,也就是stu存放的是地址对象存放在栈中,堆中存放的是创建对象(new Student())后类中的属性和方法,堆前面还有地址。例如:stu name="李四";//在堆中寻找stu存放的地址,将找到的堆空间中的name改为"李四"对象的引用:Student stu=new Student();//在堆中开辟一个空间Student stu2=new Student();//在堆中开辟另一个空间stu.name="张三";//stu指向的空间中的name=“张三”stu2.name="李四";//stu2指向的空间中的name=“李四”stu=stu2;//stu2指向的地址赋给stu,即stu与stu2指向同一块空间,即stu2指向的空间stu2.name="王五";//stu2指向的空间中的name=“王五”System.out.println(stu.name);//输出王五System.out.println(stu2.name);//输出王五2.构造器(构造函数/构造方法)格式:public 类名(参数列表){}(参数列表可以为空)例如:定义一个Student类public class Student{}//该类会有一个默认的无参构造方法public Student(){}
3.方法重载:定义:在同一个类中多个方法的返回类型和方法名一样,参数个数、参数类型不一样或者参数个数和类型一样但定义的顺序不一样例如:1)普通方法public class Student{public void eat(){}public void eat(int a){}public void eat(String a){}public void eat(int a,String b){}}2)构造方法public class Student{public Student(){}public Student(int a){}public Student(int a,String b){}}4.继承格式:public class 子类名 extends 父类名{},继承弗雷德所有非私有属性和方法,但是父类的构造方法不被继承注意:一个类只允许有一个直接父类 ,但是允许多级继承例如:public class A extends C{//A类直接继承C类}public class B extends A{//B类直接继承A类,C类是B类的祖先类,这就是多级继承}public class C{public String a;public void eat(){System.out.println("C类的方法");}}5.方法的重写定义:继承来的方法的返回类型、方法名、参数类表完全与父类的方法相同,只有方法体内的内容不同子类重写了父类的方法后,继承来的方法就被重写的方法覆盖了例如:(还是上面的A、B、C三个类)在A类中重写eat()方法public void eat(){System.out.println("A类的方法");}//A类中只有重写的这个方法,继承而来的这个方法倍覆盖了
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐