--------------------android培训、java培训、期待与您交流! ------------------
java是面向对象的语言,首先什么是面向对象呢
一:理解面向对象
在java中有句话叫做“万事万物皆对象”深刻理解之后就能感觉到面向对象符合人类的思想,和做事方式。每个对象具有自己的功能,例如:人,车,飞机,计算机。它们都是一个对象都具有功能。
二:面向对象的优势
用面向对象的思想编程,可以使问题简单化,想c语言就是面向过程的,它的程序是由一个个函数构成的,需要什么功能就调用功能方法,这样会让问题很复杂,所以c编写比java要难的多。而利用面向对象编程就容易的多例如:
一个软件公司有如果是面向过程的思想的话,老板要一个人把一个项目自己独自完成,从需求设计---到测试运行。周期要好久
但是要是利用面向对象编程的话,就简单了,可以招聘程序员,测试员等 协作完成那么周期必定会减少。
三:面向对象的特征
面向对象的三大特征:封装 继承 多态
首先了解 类 :类是一类对象的抽象。例如:人类,汽车
(1)封装
封装的概念:就是把一类事物的属性隐藏其具体实现,只提供对外公用的方法去操作属性的值。
封装的优点: (1):将变化隔离(2):便于使用(3):提高重用性(4):提高安全性
使用private 修饰属性;外界将不可以直接访问该属性的值,想要访问该属性就必须要提供一个公共的方法例如:
public class Person{
}
(2)继承 extends
当存在两个类 A类和B类的关系存在着is a 时候 可以让 A类继承 B类
当A类继承B类以后A类就可以使用B类中的方法和属性(私有的不可以)
继承的优点是:
1.提高代码的复用性。
2.类与类之间产生了关系。有了这个关系,才有了多态的特性。
继承的特点:
java中只支持单继承,不支持多继承,因为多继承容易带来安全隐患。
例如 子类和父类的功能相同时不知道运行哪个。
解决这个办法可以用final关键字(被final修饰的属性和方法是最终的。)
Java继承的举例
public class Person{
public Person (String name){
this.name=name;
}
public void sleep(){
System.out.println("睡觉");
}
}
这样在主函数中 Student 就可以直接使用 Person 中的name 属性 和 sleep方法可以提高代码的重用性。
(3)多态
多态分两种:
1、编译时多态:编译时动态重载;
2 运行时多态:指一个对象可以具有多个类型,方法的覆盖
首先, 要明确Child对Parent发生了方法的overload还是overwrite,根据参数类型及个数。
如果是overload,则Child继承了Parent的方法,相当于Child多加了父类的方法。
如果是overwrite, 则Child类不会有父类的该方法,而是把该方法重写了,所以该方法存在于父类中,子类只是重写了。要想调用父类的该方法,只能通过super关键字调用。
--------------------android培训、java培训、期待与您交流! ------------------