欢迎来到天天文库
浏览记录
ID:10015418
大小:1.06 MB
页数:257页
时间:2018-05-12
《第3章 java面向对象编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章JAVA面向对象编程面向对象的程序设计类与对象构造方法方法重载static关键字this关键字instanceof关键字类的继承与多态继承成员访问super何时调用构造方法本章内容:初始化顺序父类的静态方法java.lang.Object类final多态抽象类、接口与内部类抽象类接口用接口实现多重继承向上及向下转型内部类嵌套类和匿名类面向对象的程序设计1、封装2、继承3、多态类声明由四部分组成:类修饰符、类关键字class、声明父类、实现接口,其一般形式如下:[public][abstract
2、final
3、]class类名[extends父类名][implements接口列表]{……}3.1类与对象(1)类修饰符public:这个public关键字声明了类可以在其他类中使用。缺省时,该类只能被同一个包中的其他类使用。abstract:声明这个类为抽象类,即这个类不能被实例化。final:声明该类不能被继承,即不能有子类。也就是说,不能用它通过扩展的办法来创建新类。(2)类的关键字class在类声明中,class是声明类的关键字,表示类声明的开始,类声明后面跟着类名,按习惯类名要用大写字母开头,并且类名不能用阿拉伯
4、数字开头。给类名命名时,最好取一个容易识别且有意义的名字,避免A、B、C之类的类名。类成员的四种访问权限:1、公有public2、受保护protected3、默认4、私有private类的访问权限:只有如下两种:公有public及默认,除此之外,没有其它的修饰符。构造方法特点如下:1、无返回值2、方法名与类名相同3、访问权限不能为私有4、可重载5、调用时,根据参数自动选择相应的构造方法。创建对象与定义构造函数1.创建对象定义类的最终目的是使用对象。创建对象的一般格式:类名新建对象名=new构造函数();创建对象
5、与声明基本数据类型的变量类似,首先说明新建对象所属的类名,然后说明新建对象的名字,new是为新建对象开辟内存空间的运算符。像声明变量需要为变量开辟内存空间保存数据一样,创建对象也需要为对象开辟内存空间保存域和方法。与变量相比,对象占用的内存空间要大得多,对象是以类为模板创建的具体实例。2.构造函数(构造方法)创建对象与声明变量的不同点:创建对象的同时将调用这个对象的构造函数完成对象的初始化。声明变量时可以用赋值语句为它赋初值,而一个对象可能包括若干个域,需要若干个赋值语句,把若干个赋初值的语句组合成一个方法在创
6、建对象时一次性同时执行,这个方法就是构造函数。构造函数是与类同名的方法,创建对象的语句用new运算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。构造函数是类的特殊方法,主要体现在以下的几个方面:(1)构造函数的方法名与类名相同。(2)没有返回类型。(3)作用:完成对类对象的初始化工作。(4)一般不能由编程人员显式直接调用。(5)在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。importjava.io.*;publicclassStuInfo{publicstatic
7、voidmain(String[]args){Studentst1=newStudent();//st1.setName("卫洪春");st1.setStuNum(2010090423);System.out.println(st1.toString());}}classStudent{//属性Stringname;intStuNum;Stringcourse[];intgrade[];//方法Student(){name="无名";StuNum=-8;inti=0;course=newString[3];gr
8、ade=newint[3];course[0]="语文";course[1]="数学";course[2]="英语";for(i=0;i<3;i++)grade[i]=0;}publicintgetGrade(Stringstr){if(str.equals(course[0]))returngrade[0];elseif(str.equals(course[1])){returngrade[1];}elseif(str.equals(course[2])){returngrade[2];}else{Syste
9、m.out.println("没有课程<"+str+">!");return-1;}}publicStringgetName(){returnname;}publicintgetStuNum(){returnStuNum;}publicvoidsetGrade(intgrd,Stringstr){if(str.equals(course[0]))grade[0]=grd;elseif(
此文档下载收益归作者所有