DIY面向对象笔记01.docx

上传人:b****1 文档编号:10737705 上传时间:2023-05-27 格式:DOCX 页数:13 大小:367.34KB
下载 相关 举报
DIY面向对象笔记01.docx_第1页
第1页 / 共13页
DIY面向对象笔记01.docx_第2页
第2页 / 共13页
DIY面向对象笔记01.docx_第3页
第3页 / 共13页
DIY面向对象笔记01.docx_第4页
第4页 / 共13页
DIY面向对象笔记01.docx_第5页
第5页 / 共13页
DIY面向对象笔记01.docx_第6页
第6页 / 共13页
DIY面向对象笔记01.docx_第7页
第7页 / 共13页
DIY面向对象笔记01.docx_第8页
第8页 / 共13页
DIY面向对象笔记01.docx_第9页
第9页 / 共13页
DIY面向对象笔记01.docx_第10页
第10页 / 共13页
DIY面向对象笔记01.docx_第11页
第11页 / 共13页
DIY面向对象笔记01.docx_第12页
第12页 / 共13页
DIY面向对象笔记01.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DIY面向对象笔记01.docx

《DIY面向对象笔记01.docx》由会员分享,可在线阅读,更多相关《DIY面向对象笔记01.docx(13页珍藏版)》请在冰点文库上搜索。

DIY面向对象笔记01.docx

DIY面向对象笔记01

一。

继承:

笼统地说,继承是将类中共同的特征和行为再次抽取出来建立一个类,使其他类可以沿用此类中的属性和方法。

这样不仅可以减少程序中的重复代码,而且易于程序扩展

二.。

继承的实现:

1.建立父类

publicclassPerson{

publicStringname=“person”;

publicvoidgetInfo(){

System.out.println(“thisisaperson”);

}

}

2.使用extends建立子父类继承关系

publicclassStudentextendsPerson{

publicintage;

publicvoidplay(){}

}

3,创建子类对象访问父类的属性和方法

publicclassTest{

publicstaticvoidmain(Stringargs[]){

Studentstu=newStudent();

System.out.println(stu.name);//访问父类中的age属性

stu.getInfo();//调用父类中的getInfo方法

}

}

JAVA只支持单继承,不允许多继承,即一个子类不允许有多个父类,一个类可以即是子类,同时又是父类

三.。

在Java中,Object是所有类的父类,所有的Java类都直接或间接地继承

了java.lang.Object类

定义一个类时,没有使用extends关键字,那么该类实际上隐式继承

了Object

四。

五。

六。

在使用super和this时我们需要注意以下4个方面

==>每个子类构造方法中首先会隐含地调用super(),然后执行构造方法中的代码,

而且在子类的构造方法中可以使用super()主动的调用父类的无参构造方法,

如果父类的构造方法有参数的话,可通过super(参数列表)调用父类的有参构造方法

==>super()和this()均需放在构造方法内第一行

==>this()和super()不能同时出现在一个构造函数中

==>this()和super()均不可以在static环境中使用。

Java中使用super关键字来引用父类的成员。

super()是调用父类的构造方法;它只能使用在构造方法中的第一行,且必须放在第一行。

注意:

Super()和this()同时只能使用一种。

 

七.。

访问修饰符

八Stati.

注意:

static方法中不可访问非static的成员。

九.Java中使用extends关键字实现类的继承机制。

语法规则:

Java只支持单继承,不允许多继承。

注意:

修饰符为private的属性和方法不会被继承。

注意:

构造方法也不会被继承。

根类(父类、基类):

java.lang.Object类

十一。

方法的重载:

是指一个类中可以定义有相同的名字、但参数个数或类型不同的多个方法。

调用时,编译器会根据不同的参数表选择对应的方法。

例如:

TestOverLoading.java

12.。

方法重写

例如:

十三.。

14.。

final

final可用来修饰变量、方法和类。

final的属性或变量,即是一个常量。

final的方法不能被重写。

final的类不能被继承。

例:

TestFinal.java

J2SDK中提供有许多final类,例String、Math、Boolean等。

(参看API文档)

如果自己的类不想被别人继承,可用final修饰。

 

15.。

抽象类和抽象方法

用abstract关键字修饰的类,即抽象类。

作用:

描述概念性的内容,这样可以提高开发效率,更好地统一用户“接口”。

语法格式:

抽象类必须被继承,抽象方法必须被重写。

抽象类不能被实例化;抽象方法只需声明,无需实现。

抽象类通常包括一个或多个抽象方法,但不是一定包括

若类中包含了抽象方法,则该类必须被定义为抽象类。

注意:

虽然抽象类不能产生实例对象,但还是需要构造方法的存在!

abstract关键字只能用在类和方法上,而不能用在属性和一般的变量上。

16.接口

是抽象方法和常量的定义的集合。

从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

》》》》实现接口的方法:

 

[public]interface接口名[extends父接口名列表]{

typeNAME=value;

//该常量被实现该接口的多个类共享;

//缺省的具有public,final,static的属性

returntypemethodName([paramlist]);

//缺省的具有public和abstract属性

}

实现接口的方法:

 

接口特性:

接口中声明的成员变量默认为publicstaticfinal的,且也只能是publicstaticfinal的;

接口中只能定义为抽象方法,而且这些方法默认为public的,且也只能为public的

接口可以继承其它接口,并添加新的属性和抽象方法。

接口可以实现多继承。

即一个接口可有多个父接口(即接口可实现多继承),用逗号隔开

在类的声明中用implements子句来表示一个类使用某个接口。

多个无关的类可以实现同一个接口。

一个类可以实现多个无关的接口。

定义Java类的语法格式:

在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法。

代码:

interfaceSinger{publicvoidsing();}

interfacePainter{publicvoidpaint();}

classStudentimplementsSinger{

privateStringname;

Student(Stringname){this.name=name;}

publicvoidstudy(){

System.out.println("studying...");

}

publicStringgetName(){returnname;}

publicvoidsing(){

System.out.println("Studentissinging.");

}

}

////////////////////////////////////////////

classTeacherimplementsSinger,Painter{

privateStringname;

Teacher(Stringname){this.name=name;}

publicStringgetName(){returnname;}

publicvoidteach(){

System.out.println("teaching...");

}

publicvoidsing(){

System.out.println("Teacherissinging.");

}

publicvoidpaint(){

System.out.println("Teacherispainting.");

}

}

////////////////////////////////////

publicclassTestInterface{

publicstaticvoidmain(Stringargs[]){

Singers1=newStudent("Helen");

s1.sing();

Singers2=newTeacher("John");

s2.sing();

Painterp1=(Painter)s2;

p1.paint();

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2