欢迎来到天天文库
浏览记录
ID:50826960
大小:34.50 KB
页数:5页
时间:2020-03-15
《Java基础之构造方法与继承多态.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、构造方法主要作用是进行对象初始化与类同名,没有返回值没有定义的时候,编译器会自动生成一个publicStudent(){ super();//调用父类的无参构造方法 } 构造方法可以重载publicStudent(StringstuNo,Stringname){ this.stuNo=stuNo; this.name=name; System.out.println("有参构造方法被调用"); } 构造方法用new关键字进行调用stu=newStudent("S003","杰克");//new关键字在堆中分配对象的存储空间 对象创建时的初始化过程1.new关键字分
2、配内存,并将各个字段置为空值(基本型为0,引用型为null)2.对字段赋初值3.调用构造方法进行初始化继承继承就是一种由已有的类创建新类的机制,是指在已有类的基础上扩展功能。继承中分为子类和父类类可以有两种重要的成员:成员变量和方法。子类的成员中有一部分是子类自己声明定义的,另一部分是从它的父类继承的。1.所谓子类继承父类的成员变量作为自己的一个成员变量,就好象它们是在子类中直接声明一样,可以被子类中自己声明的任何实例方法操作.1.所谓子类继承父类的方法作为子类中的一个方法,就象它们是在子类中直接声明一样,可以被子类中自己声明的任何实例方法调用。2.//getNam
3、e()方法从父类中继承,无需再次定义 3.//publicStringgetName(){//returnthis.name;//}1.//子类可以覆盖(重写)父类中定义的方法 publicvoidsayHello(){ System.out.println("hellofromSub!"); } @Override publicvoidprint(){ super.print();//调用父类被重写了的方法 System.out.println("address="+address); } (1)Java只支持单一继承,也就是只有一个父类,利用extends关键字
4、继承;(2)当子类拥有和父类相同的方法定义(即返回类型、方法名、参数列表完全相同时,仅方法体不一样),称之为方法重写(OverRide);1对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类重写的方法,如果子类继承了父类的方法(未重写),那么子类创建的对象也可以调用这个方法,只不过方法产生的行为和父类的相同而已。 2重写父类方法时不可以降低方法的访问权限 3如果重写了父类的方法后使用父类的被重写方法,可以在子类的方法中使用super.被重写方法(); 3子类不继承父类的构造方法4子类的构造方法必须调用父类的构造方法1如果子类的构造方法中没有显
5、式地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法,相当于省略了super();语句 publicSub(){ //super();//调用父类无参构造方法 } 2如果子类构造方法中既未显式调用父类构造方法,而父类中只有有参数的构造方法,没有无参的构造方法,则编译出错 3在子类的构造方法中可使用语句super(argument_list)调用父类的构造方法,但必须作为构造方法的第一条句。 publicSub(Stringname,intcount){ super(name,count);//调用父类有两个参数的构
6、造方法 } 5子类在实例化时实际上先调用父类的构造方法,后调用的子类的构造方法。1.new关键字分配内存,并将各个字段置为空值(基本型为0,引用型为null)2.对父类字段赋初值3.调用父类构造方法进行初始化4.对子类字段赋初值1.调用子类构造方法进行初始化访问控制符访问控制符包括:public,protected,default,private。分别代表了不同的访问权限。如果省略,则被视为使用了默认的default作为访问修饰符。从字面含义上面理解,很显然,这几个访问控制符(public->protected->default->private)所代表的访问权限是
7、依次递减的。· public:权限最大,不受类、包等的限制,都可以访问。· protected:次于public,限制之处在于如果不再同一个包中,只有和它存在继承关系的子类才可以访问它。· default:进一步受限,必须是同一个包才能访问。· private:这个就将权限限制在了类中,只有同一个类中的成员才能访问。类型转换向上转型(upcasting)、向下转型(downcasting).规则:引用型变量可以用本类型及子类型的对象进行赋值,并且只能是这样类似于基本数据类型之间的强制类型转换。存在继承关系的父类对象和子类对象之间也可以在一定条件之下相互转换。·向
此文档下载收益归作者所有