java必知必会-java面向对象的三大特性

系列文章目录

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("子类的方法")
    }
}

总结

本文介绍了面向对象的三大特性,如果有任何疑问欢迎私信或者评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值