java面向对象编程知识点总结

一:今天完成

上午详细了解了java面向对象编程的一些细节,记录如下。

1)类

是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法、初始化程序和嵌套类型。

常用成员有四种:类字段、类方法、实例字段、实力方法。

其它引用类型还包括数组、接口、枚举和注解。

2)字段和方法

示例:一个简单的类和成员


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

public class Circle{

//类字段

public static final double PI=3.14159;

//类方法

public static double radiansToDegrees(double radians){

    return radians * 180 / PI;

}  

 

//实例字段

public doule r;

//两个实例方法

public double area(){

  return PI*r*r;

}

public double circumference(){

  return 2*PI*r;

}

}

  还有就是this的使用,它竟然是一个隐式参数!第一次知道,,也可能是我之前没留意。意义是“在当前对象上调用实例方法”。

3)创建和初始化对象

构造方法看作是类成员,可以定义多个构造方法,只要参数列表不一样就行。在一个构造方法中也可以调用其它构造方法,可以避免大量的初始化代码。

4)子类和继承

对于super关键字,需要了解的是:在子类中调用超类构造方法时必须在第一个语句中调用。代码如下


1

2

3

4

5

publc PlaneCircle(double x;double y;double r){

super(r);//调用超类的circle()构造方法

this.cx=x;

this.cy=y;

}

  这里面涉及到构造方法链,就是创建对象时的一系列构造方法,从子类到顶端的Object类为止。

如何引用被遮盖的字段?把this(或 类的实例)矫正为适当的超类,然后再访问字段。

例如有三个类A、B和C。它们都定义了一个x的字段,并且C是B子类,B是A子类,那么,在C中可以这样


1

2

3

4

5

6

7

8

9

x;//c类

this.x;//c类

super.x;//B类

((B)this).x;/B类

((A)this).x;//A类<br>类似的,如果c是C的实例,那可以这样引用<br>c.x;<br>((B)c).x<br>((A)c).x

还需要分清方法覆盖和字段遮盖。

注意调用覆盖方法时的super和调用超类时的super用法是不一样的。

5)数据隐藏和封装

java的包不能“嵌套”,比如java.A.a和java.A是不同的包

对于访问控制和继承,如下

总结了一下成员访问规则,如下

对于有些数据访问器方法(getter,setter),需要记住的是,public方法访问字段可以进行检查。

6)抽象类和方法

有些抽象类可以没有任何抽象方法,比如classLoder。

示例代码:一个抽象类和两个具体类


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

public abstract class Shape{

//两个抽象方法

public abstract double area();

public abstract double circumference(); 

}

//具体子类

class Circle extends Shape{

public static final double PI= 3.14159265358;//类字段

protected double r;//实例字段

public Circle(double r){this.r=r}//构造方法

public double getRadius(){ return r;}//访问器

public double area(){ return PI*r*r ;}//实现的两个抽象方法

public double circumference(){ return 2 *PI*r ;}

}

  对象之间也可以发生转换,分为放大和缩小转换


1

2

Object  o="string";//放大

String s= (String)o;//缩小

  数组转换规则只适用由对象或数组 组成的数组,基本类型的数组不能转换。

二:下午计划

看完并记录java类型系统这一章,有时间的话开始做那个任务一的第一个板块
三:遇到问题

为什么感觉平时写代码没有感觉到有这么多的知识点?是没用到吗?还是自己缺少思考?
四:收获感悟

相对于其它面向对象的语言,java真可以说的上是入门首选,即便它有时候会显得啰嗦一点。

时间: 2024-08-01 22:43:00

java面向对象编程知识点总结的相关文章

黑马程序员-Java面向对象编程学习总结

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- Java面向对象编程学习总结: 重要知识点总结如下: 1,抽象,封装,继承,多态是面向对象程序设计中得四个特点. 2,面向对象得软件开发大体分为:面向对象的分析,面向对象的设计,面向对象的实现. 可概括为如下过程:分析用户需求,从问题中抽

java面向对象编程(八)--抽象类、接口

1.抽象类 1.1抽象类概念 当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. //抽象类的必要性[Demo124.java] public class Demo124 { public static void main(String[] args) { //Animal an=new Animal();抽象类不允许实例化 Animal an=new Cat(); an.cry(); an=new Dog(); an.cr

Java面向对象编程三大特征 - 多态

Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向子类对象的相关概念,对继承还没有完全明白的同学可进传送门:Java面向对象编程三大特征 - 继承. 一.抽象类 在继承中,我们已经了解了子父类的关系以及如何对子父类进行设计,如果已经存在多个实体类,再去定义父类其实是不断的抽取公共重合部分的过程,如果有需要将会产生多重继承关系.在抽取整理的过程中,除了

《Java面向对象编程第二版》今年出版以来获得读者一致好评。

<Java面向对象编程第一版>自2016年出版以来,承蒙读者们的厚爱,至今已经重印了二十多次,成为国内Java领域里的经典Java技术宝典.在当当网上获得了1500多条好评: http://product.dangdang.com/9186890.html?point=comment_point 应广大读者的要求,为第一版进行了升级,第二版融合了最新的Java8的语言特性,它继续为Java开发人员们提供丰富全面的技术支持和帮助.在京东网上读者们对第二版的好评如潮,一致认为这是Java开发人员必

java面向对象编程(七)--四大特征之多态

1.多态概念 多态性是对象多种表现形式的体现.比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫.小狗.蜥蜴等等.那么我到宠物店说"请给我一只宠物",服务员给我小猫.小狗或者蜥蜴都可以,我们就说"宠物"这个对象就具备多态性. java中的多态,就是指一个引用(类型)在不同情况下的多种状态.也可以理解成,多态是指通过指向父类的指针,来调用在不同子类中实现的方法.也可以理解为"一个接口,多个方法". 实现多态有两种

JAVA学习(五):Java面向对象编程基础

Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目的. 1.OOP的3个特性(封装.继承和多态性) 封装是类的基础.指把类的相关实现细节隐藏起来,在类中将数据和实现操作的代码集中起来放在对象的内部.调用这些类时仅仅需直接使用类预留的接口就能够了. 继承提供了子类自己主动拥有父类数据结构和方法的机制.它表示类之间的一种关系. 多态指使一个对象被看成还

Java面向对象编程(一)

由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymorphism)和封装性(encapsulation). 一. 继承性 [类修饰词列表] class 类名 [extends 父类名] [implements 借口列表名] { 类体 } class Employee { public int workYear; public Employee() {

《Java面向对象编程第二版》即将出版

<Java面向对象编程第一版>自2016年出版以来,承蒙读者们的厚爱,至今已经重印了二十多次,成为国内Java领域里的经典Java技术宝典.应广大读者的要求,在过去的几个月,为第一版进行了升级,第二版融合了最新的Java8的语言特性,希望它能继续为Java开发人员们提供丰富全面的技术支持和帮助. 本书技术支持网址为:www.javathinker.net

java面向对象编程(六)--四大特征之继承、方法重载和方法覆盖

一.继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类.语法如下: class 子类 extends 父类 这样,子类就会自动拥有父类定义的某些属性和方法.另外,并不是父类的所有属性.方法都可以被子类继承.父类的public修饰符的属性和方法,protected修饰符的属性和方法,默认修饰符属