zoukankan      html  css  js  c++  java
  • java抽象类和抽象方法

    首先应该明确一点的是,抽象方法必须定义在抽象类中。

    先看一个抽象类的定义:

    public abstract class Animal {
    
        public abstract void eat();
        
        public abstract void sleep();
        
        public void Smile()
        {
            System.out.println("每个动物都会微笑,因为最美!");
        }
    
    }

    抽象类作为一个父类,可以定义抽象方法,也可以定义一般方法。

    我们在来定义一个子类:

    public class Man extends Animal{
    
        public void eat()
        {
            System.out.println("一天天就知道个吃");
        }
        
        public void sleep() 
        {
            System.out.println("就知道个睡");
        }
        
        public static void main(String[] args)
        {
            Man obj=new Man();
            obj.eat();
            obj.sleep();
            obj.Smile();
        }
    }

    子类Man继承了抽象类,那么就必须将其抽象方法实现,是必须,必须,不然就会报错。

    抽象类和接口的区别:

    子类继承了抽象类,抽象方法必须实现,然而其他其他方法可以不实现,抽象方法中也可以定义不是抽象的方法

    子类实现接口,接口中默认的方法都为抽象方法,也就不能实现,一个子类可以实现多个接口,而只能继承一个抽象类,其实接口是抽象类中更为具体的一种类而言。

    public interface TrafficTool {
    
        void Car();
        
        void Airport();
        
        void Train();
    
    }
    
    public class LandTool implements TrafficTool {
    
        public void Car()
        {
            System.out.println("走,咋们炸汽车去");
        }
        
        public void Airport()
        {
            System.out.println("走,咋们炸飞机去");
        }
        
        public void Train()
        {
            System.out.println("抢火车去不去,愣货");
        }
        
        public static void main(String[] args)
        {
            LandTool obj=new LandTool();
            obj.Car();
            obj.Airport();
            obj.Train();
        }
    }

     补充接口,接口不允许任何方法定义,接口和实现完美分离。

  • 相关阅读:
    MVC 中301永久重定向
    String
    redis key设置过期时间
    hbase java 增加列族
    hbase 物理存储
    java 类图
    SSH hql中文查询时乱码快速解决
    json和pickle的序列化与反序列化
    python之生成器与迭代器
    安装traits库心得
  • 原文地址:https://www.cnblogs.com/Optimism/p/10484340.html
Copyright © 2011-2022 走看看