首页 > 代码库 > 继承20161223
继承20161223
构造器
1、构造器是类中与类名称相同的函数
有如下两个属性:
a.构造器的名称与类名相同
b.构造器不能声明返回值,也不能返回void
其声明方式为:访问修饰符 类名称(形参,形参····)
例如: public Student(){} //声明一个无参的构造函数 public Student(String name,int age){}//声明两个参数的构造函数
2、默认构造器
如果在类中未声明构造器的话,系统会自动添加构造器,成为默认构造器,此构造器不返回任何值。
3、 构造器的调用
在java中如果使用new关键字实例化一个对象时,构造器就被调用了。
例如: Yellow yellow=new Yellow();//调用的是Yellow类中的默认构造函数。
注意:如果已经在类中声明了有参构造函数,系统将不会生成默认构造函数。在实例化对象时,需要传入参数。
例如: Yellow yellow=new Yellow(name ,age);//在类Yellow中声明了2个参数name、age,而没有创建无参构造器,则在实例化是传入参数。如果不传入参数,则会报错。
4、本类中构造器的使用,this关键字
this();//调用无参构造方法
this(name,age);//调用两个参数的构造方法
注意:在本类中构造器之间调用时(构造器之间可以相互调用),需要有一个构造器作为出口(一般为无参构造方法)。
继承
1、概念:
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
java中只允许单继承,但父类也可以有父类。如果父类没有显示继承类,则此类隐式的继承Object类
2、实现方式
使用extends关键字继承
当一个类实现了继承后,父类中的所有属性及方法(除private修饰的)子类均拥有。
3、调用父类的属性及方法
使用super关键字调用父类中的属性及方法
如果父类中没有无参的构造函数,那么子类必须重写构造函数,且必须与父类中参数一致,并在第一行调用父类的构造函数
4、super与this的区别
a、super使用的是子类调用父类的构造方法,this是指调用本类中的构造方法。
b、程序中super与this一样,都需要放在首行;如果是在子类中调用,则使用super方法。
c、实例化子类时,优先调用父类中的构造方法,在调用子类构造方法。
5、重写与重载
重写:是发生在子类与父类之间,子类的方法返回值、访问类型、方法名及形式参数均与父类相同。
重载:是在一个类中,方法的方法名一样,返回值、参数不同。
6、equals与“==”的区别
a、java中,“==”判断内存地址是否相同,基本数据类型除外(基本数据类型存放在栈中)
b、equals比较两个内存地址所存放的值是否相同
c、java中有一个特例String类型
注意:当String声明时,除使用new关键字外,如果字符串一样,则内存地址一样
例如:
String str1="zhangsan"; String str2="zhangsan"; System.out.println(str1==str2); //返回值为true
7、final关键字
a、在使用final声明变量是,变量变为常量,不能被更改;
b、使用final声明的方法,不能被重载,也不能被子类重写;
c、使用final声明的类,不能被继承;
继承20161223