您的位置:首页 > 编程语言 > Java开发

Java面向对象复习

2019-03-21 21:23 190 查看

Java面向对象

几个概念

对象

一切皆对象,你看到的任务东西,都可以当成一个对象。

对象有静态的属性和动态的行为组成。

学生:

静态的属性:名字,身高,体重,班级,专业

动态的方法:打架,玩游戏,写作业,介绍

抽象

从一个具体的对象中抽取一组数据的过程,去除一些个性的属性。

学生:名字,身高,体重,班级,专业、血型、成绩

成绩管理系统:

名字,班级,专业、成绩

健康档案系统:

名字,身高,体重、血型

一组具有相同属性和行为 对象抽象

public class Student {
/**
*静态的属性
*/
private String name;
private double height;
private String classId;
/**
* 动态的方法
*/
public void introduceMyself()
{
System.out.println("姓名"+name+"身高"
+height+"班级"+classId);
}
}

消息

给某个对象发送的请求,比如,学生去打架

方法调用

面向对象基本特征

封装:

给对象一个边界,内部信息尽量隐藏,对外只提供接口

封装可以使得对象更加安全、容易。

继承:

继承就是允许后代使用前辈已经拥有的东西。

继承也是一种代码重用机制。

多态:

同一个消息,发送给不同的对象,他们所做的相同不同。
继承
public  class Father {
public     String name;    //全,外部包 public
protected  String sex;     //子类protected
private    int    age;      //类本部 private

public Father(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public void introduction()
{
System.out.println("姓名"+name+"性别"
+sex+"年龄"+age);
}
}
public class Son extends Father {
public Son(String name, String sex, int age) {
super(name, sex, age);
}

}
多态
public abstract class Animal {
public String name;

public Animal(String name) {
this.name = name;
}

public abstract void shout();
}
class Cat extends Animal{

public Cat(String name) {
super(name);
}

@Override
public void shout() {
System.out.println("喵喵"+name);
}
}
class Dog extends Animal{

public Dog(String name) {
super(name);
}

@Override
public void shout() {
System.out.println("旺旺"+name);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: