黑马程序员_面向对象的基础学完了,来个小总结
2012-12-09 22:22
337 查看
-----------android培训[/u]、java培训[/u]、java学习型技术博客、期待与您交流!-----------
/* 需求:面向对象的基础基本学完了,也该做下总结了 分析: 1,分别从面向对象的各种概念,组成来分析 2,从类,对象,封装,继承,多态来解释面向对象 3,类中的属性,方法,构造函数,静态方法,静态代码块等, 1,面向对象:把功能封装起来形成对象,让这个对象帮我们完成我们需要的功能 主要是区别与面向过程,面向过程是把问题一直最小细分化,而面向对象是形成 不同的功能对象,从劳动者变成指挥者。 2,java是一种编译型语言,跨平台语言,具有封装,继承,多态等特性 3,类:是创建对象的图纸,抽象性,有属性,方法;对象:根据类形成具体的实体, 根据类创建的对象具有具体的属性和具体的方法。 4,封装:把功能封装起来,便于使用和维护。特别从私有属性,方法,内部类可以看出封装的好处 5,继承:可以提高代码的重用性,也为多态的实现提供了前提条件。 6,多态:多种形态可以共存,主要是丰富了我们的引用,特别从接口可以看出,我们可以先不用去实现 怎么实现这个功能,可以先定义这个功能,等实现类去具体完成,但是我们可以用接口的引用去指向实现类 的实体,就是形参我们可以用父类或者接口的引用。 7,类:包括属性(可以用名字抽取法),方法(实现一些功能,动词抽取法),每个类一般都包括属性, 方法,构造函数(用来初始化对象),静态属性(一些对象共有的属性,存在方法区中,随着类的加载而加载), 静态方法(随着类的加载而加载,对象中共有的方法) 8:说下栈区,堆区,方法区 方法区:加载类的时候main()和,静态代码块,静态属性,静态方法直接加载 堆区:存放实体(对象,数组元素),引用,成员变量(有默认的初始化值) 栈区:引用,方法在调用时,形成了压栈,哪个方法压栈,就运行哪个方法(多线程具体实现细节稍有差异); 局部变量(没有初始化值,可以定义以后赋值再使用,没有赋值前不能使用) 9,学习了内部类(成员内部类,局部内部类,匿名内部类) */ //下面写一个类Person(父类),一个借口KTV和一个继承类Student //定义一类子类Student去继承Person类,然后去实现KTV的接口 publicclassStudentextendsPersonimplementsKTV{ privateStringmajor; publicStudent(intage,Stringname,Stringsex,Stringmajor){ super(age,name,sex); this.major=major; } publicstaticvoidmain(String[]args){ Studentstu=newStudent(21,"xiaohuang","male","computer"); play(); stu.sing(); stu.introduce(); } publicstaticvoidplay(){ System.out.println("Icanplaytennis"); } //实现KTV接口 publicvoidsing(){ System.out.println("Ilikesingverymuch"); } //重写父类方法 publicvoidintroduce(){ System.out.println(getName()+","+getAge()+","+getSex()+","+major); } } //定义一个父类方法 classPerson{ privateintage; privateStringname; privateStringsex; Person(){ } Person(intage,Stringname,Stringsex){ this.age=age; this.name=name; this.sex=sex; } publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetSex(){ returnsex; } publicvoidsetSex(Stringsex){ this.sex=sex; } publicvoidintroduce() { System.out.println("name"+name+"age"+age+"sex"+sex); } } //定义一个借口,有一个抽象方法 interfaceKTV{ publicabstractvoidsing(); } [code]publicclassInner{ publicstaticvoidmain(String[]args){ //定义一个匿名内部类去实现接口Smile Smiles=newSmile(){ publicvoidsmile(){ System.out.println("let'ssmilehappyly"); } }; s.smile(); } } interfaceSmile{ publicabstractvoidsmile(); }[/code]
-----------android培训[/u]、java培训[/u]、java学习型技术博客、期待与您交流!-----------本文出自“javaの旅”博客,请务必保留此出处http://saistart.blog.51cto.com/6115346/1083412
相关文章推荐
- 黑马程序员-Java基础总结04——面向对象
- 黑马程序员_ios基础总结8_OC面向对象
- 黑马程序员 Java基础知识总结-面向对象三大特征
- 黑马程序员--Java基础之面向对象总结(一)
- 黑马程序员--OC面向对象三大基础总结
- 黑马程序员_JAVA基础知识总结——面向对象三大特征
- 黑马程序员--Java基础总结--面向对象
- 黑马程序员[andriod]java基础学习日记四——面向对象的总结
- 黑马程序员————OC面向对象编程基础总结
- java基础学习总结——面向对象
- 黑马程序员——java基础——面向对象
- 黑马程序员_JavaSE基础知识总结十二:Eclipse使用技巧
- 黑马程序员----【javaSE基础】个人总结--eclipse常用快捷键
- 黑马程序员_学习笔记:2) Java语法基础总结
- 黑马程序员-Java语言基础–面向对象 第10天
- Java 面向对象(基础) 知识点总结I
- Java基础学习总结(84)——Java面向对象六大原则和设计模式
- 黑马程序员--java基础--面向对象
- 黑马程序员——JAVA基础之面向对象
- 黑马程序员_Java基础(2)面向对象(一)