java基础:面向对象(三)

    万事万物皆对象!看得见的看不见的,只要实际存在,它就是对象!
    比如你所在的公司,公司就是一个对象,公司中某个具体的雇员,他也是一个对象。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。
    面向对象的编程思想就是把你需要解决的问题中的所有具体的东西,都看成一个对象,然后把所有具有相同性质的对象组成一个类,那些与问题无关的对象则忽略。即所谓的抽象。将现实世界中的事物抽象成对象,现实中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。

    面向对象的三大特征:封装,继承,多态

    封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。在Java中类中成员的属性有:public, protected, <default>, private,这四个属性的访问权限依次降低。成员访问控制:

修饰符同一个类同一个包子类整体
privateYES


defaultYESYES

protectedYESYESYES
publicYESYESYESYES
   继承
    使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
    通过继承创建的新类称为“子类”或“派生类”。
    被继承的类称为“基类”、“父类”或“超类”。
    继承的过程,就是从一般到特殊的过程。
    java类继承语法规则
    < 修饰符> class < 子类名称> [extends < 父类>] {<属性和方法的声明>}

    Java只支持单继承,不允许多重继承  一个子类只能有一个父类,一个父类可以派生出多个子类
    子类继承了父类,就继承了父类的方法和属性。
    在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。
    因而,子类通常比父类的功能更多。在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”。
    关于继承的规则:子类不能继承父类中私有的(private)的成员变量和方法。

    多态 

    在Java中,子类的对象可以替代父类的对象使用
    一个变量只能有一种确定的数据类型一个引用类型变量可能指向(引用)多种不同类型的对象

Person p = new Student();	
Object o = new Person();  //Object类型的变量o,指向Person类型的对象
o = new Student(); 	//Object类型的变量o,指向Student类型的对象父类类型的变量可以指向子类的对象	

   一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法

Student m = new Student();	
m.school = “pku”; 	//合法,Student类有school成员变量
Person e = new Student(); 	
e.school = “pku”;	//非法,Person类没有school成员变量

 属性是在编译时确定的,编译时e为Person类型,没有school成员变量,因而编译错误。

  本篇只是写了关于面向对象的概念和一些特性,更多详细见下篇---高级类特性




(csdn排版太痛苦- -)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值