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