JAVA的三大特性

本文详细介绍了JAVA编程语言的三大核心特性:封装、继承与多态。通过实例代码演示了这些特性的具体应用,并深入解析了多态实现的三个必要条件:继承、重写及父类引用指向子类对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA的三大特性有封装,继承与多态
   1.
      封装:封装就是把属性包裹起来,只能通过已定义的公共方法进行调用,封装可以提高代码的复用性,可维护性,减少模块间的干扰
      代码:
这里写图片描述
这里把name与age进行了封装如果想要访问必须要通过get方法进行访问
   2.
      继承:继承分为两种单继承和多继承,
           单继承是子类继承一个父类,多继承是子类继承一个父类而这个父类又继承了更高的父类

public class Demo{
    public static void main(String[] args) {
        A a=new B();
        a.getAge(11);
    }
}

class A{
    public void getAge(int age) {
        System.out.println(age);
    }
}
class B extends A{

}

这里就是单继承,B继承了A,B就拥有了A的公共的方法 结果是11。多层继承就是A还继承了另一个类这里就不在举例了,接下来就是多态了
   3.
      多态:实现多态的三个必要条件分别是- -继承,重写,父类引用指向子类对象。可以提高代码灵活性,可扩充性。
    下面是我曾看过的关于多态的代码,我觉得很有趣,我曾花过一段时间来理解过

public class Demo{
    public static void main(String[] args) {
        A a1 = new A();  
        A a2 = new B();  
        B b = new B();  
        C c = new C();   
        D d = new D();   
        System.out.println(a1.show(b)); 
        System.out.println(a1.show(c)); 
        System.out.println(a1.show(d)); 
        System.out.println(a2.show(b));    
        System.out.println(a2.show(c));  
        System.out.println(a2.show(d));  
        System.out.println(b.show(b)); 
        System.out.println(b.show(c)); 
        System.out.println(b.show(d));
    }
}

class A{  
    public String show(D obj){  
           return ("A and D");  
    } 
    public String show(A obj){  
        return ("A and A");  
    } 
}   
class B extends A {  
    public String show(B obj){  
           return ("B and B");  
    }  
    public String show(A obj){  
           return ("B and A");  
    }  
}   
class C extends B{}   
class D extends B{}

输出结果为
A and A
A and A
A and D
B and A
B and A
A and D
B and B
B and B
A and D

我先说说我对每一个结果的理解 首先
    1. a1.show(b)因为a1是A的引用对象,b是参数,而b的父类是A所以找到A类中的show(A obj)
    2. a1.show(c)同上,c是b的子类而b是a的子类找到show(A obj)
    3. a1.show(c)参数d直接在a1的引用中存在直接找到show(D obj)
    4. a2.show(b) a的引用指向b的对象 b作为参数,因为b有重写所以a的show(A obj)被重写了 所以输出结果是B and A
    5.  同上
    6.  a2.show(d)因为是a的引用所以直接找到show(D obj)
    7. 直接找到b引用的show(B obj)
    8.  同上
    9.   引用是b参数为d,d是a的子类而a中直接有show(D obj)所以直接找到这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值