Java面向对象的概念及三大特性


  Java的面相对象理念是学习Java基础,只有深刻理解了什么事面向对象才能很好的学习Java,那么什么是面向对象呢?今天小编与大家一起了解一下。


  Java中一切皆是对象!


  注意:8种基本数据类型不支持面向对象的编程机制,基本数据类型的数据也不具备“对象”的特性:没有成员变量、方法可以被调用。


  为解决8种基本数据类型不能当成Object类型(所有类的父类)变量使用的问题,Java提供了包装类的概念,为8种基本数据类型分别定义了相应的引用类型,例如:int的包装类是Integer,包装类可以把8种基本数据类型的值包装成对象使用。包装类是Java自带类,位于Java.lang包下。


  Integeri=newInteger(10);


  上面例子中,i只是一个对象的引用,存放在栈中,而实际的数值10则是放在堆里。


  封装:


  将对象的状态信息(eg:Person对象的age变量)隐藏在对象内部,外部程序只能通过该类提供的方法来实现对内部信息的操作和访问。


  继承:


  继承就是子类继承父类的特征和行为,使得子类具有父类的各种属性和方法(重用父类代码)。


  多态(难点):


  Java引用变量,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定(即子类对象赋给父类变量),如果编译时类型和运行时类型不一致,就可能出现多态。


  1.多态定义:相同类型的(引用)变量,调用同一个方法(父类和子类都有的同名方法)时呈现出多种不同的行为特征。


  当引用变量polymophicBc编译时类型为BaseClass类型,而运行时类型为SubClass类型,运行时调用该引用变量的方法时,其方法行为总是表现出子类SubClass方法的行为特征,而不是父类BaseClass方法的行为特征。


  BaseClasspolymophicBc=newSubClass();


  2.多态的条件:有继承关系;子类重写父类方法;父类引用变量指向子类对象。


  3.优点:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。当一个新的情景出现时,无须对现有的代码进行改动,而只需要增加一个新的类和新的同名方法。


  更多最新咨询尽在动力节点微信平台《动力节点Java学院》


  


上一篇:Java里类的生命周期
下一篇:Java面向对象的构造器与数组对象

返回顶部