系列文章目录
java必知必会-java环境搭建
java必知必会-java开发工具安装与使用
java必知必会-java关键字、变量和常量
java必知必会-java数据类型和变量定义
java必知必会-java类和对象
前言
上一篇学完类的定义和对象后,接着将面向对象的三大特性
一、什么是面向对象?
面向对象,可以拆开来看,分为面向和对象,面向其实就是注重的意思,那么面向对象整体来说就是注重使用对象,
那么如何注重使用对象呢,具体来说就是将现实世界的事物转化为对象
一般来说,编程都是为了解决现实世界的问题,比如你需要写一个程序完成把大象放入冰箱的功能,那么对应使用面向对象就会转化为大象和冰箱2个对象,而为了完成把大象放入冰箱的功能可能还需要一个对象就是人,毕竟大象自己不会走进冰箱,那么将上述功能转化为代码如下
public class Man {
public static void main(String[] args) {
Icebox icebox = new Icebox();
Elephant elephant = new Elephant();
icebox.setContent(elephant.getName());
System.out.println("冰箱里面有" + icebox.getContent());
}
}
class Icebox{
private String content;
public String getContent(){
return this.content;
}
public void setContent(String content){
this.content = content;
}
}
class Elephant
{
private String name = "大象";
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
二、什么是面向对象三大特性?
面向对象的三大特性包括封装、继承、多态
封装在类的定义里面已经讲过了,不再啰嗦
继承:继承是指在原有类的基础上产生的新类,原有类称为父类,新的类称为子类,子类会自动拥有父类非private访问修饰符修饰的方法和属性,所有的类都直接或间接继承Object类,语法如下
public class Main {
public static void main(String[] args) {
Son son = new Son();
son.fun();//子类可以调用父类的方法
}
}
class Father{
public void fun(){
System.out.println("父类的方法")
}
}
class Son extends Father{}//子类继承父类
多态:多态指的是同一个对象的不同状态,既然是同一个对象,为什么会有多种状态?是怎么产生的?这里涉及多态产生的条件1、子父类关系或者类实现接口关系2、方法重写3、父类引用指向子类对象,再次拿上面的例子来说,如果在Son中也定义fun方法,在创建son对象赋值给Father,此时再调用fun方法,你会发现调用了son的fun方法而不是father本身的方法,这就是多态的其中一个例子
public class Main {
public static void main(String[] args) {
Father father = new Son();
father.fun();
}
}
class Father{
public void fun(){
System.out.println("父类的方法")
}
}
class Son extends Father{//子类继承父类
public void fun(){
System.out.println("子类的方法")
}
}
总结
本文介绍了面向对象的三大特性,如果有任何疑问欢迎私信或者评论