千家信息网

简单类的写法及继承、接口等用法实例

发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,这篇文章主要讲解了"简单类的写法及继承、接口等用法实例",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"简单类的写法及继承、接口等用法实例"吧!简单类的写
千家信息网最后更新 2024年10月02日简单类的写法及继承、接口等用法实例

这篇文章主要讲解了"简单类的写法及继承、接口等用法实例",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"简单类的写法及继承、接口等用法实例"吧!

  • 简单类的写法及继承、接口等用法

【命名后参考编码演示】

【参考程序】

package cn.fldong.lesson_code;// 定义父类 -- 人public class Person {        //【1】定义属性        private String name;        public String getName() {                return name;        }        public void setName(String name) {                this.name = name;        }        private int age;        public int getAge() {                return age;        }        public void setAge(int age) {                this.age = age;        }                //【2】定义无参和有参构造函数        public Person() {}        public Person(String name, int age) {                this.name = name;                this.age = age;        }                       //【3】重新object的toString()方法              @Override        public String toString() {                return "Person类 [name=" + name + ", age=" + age + "]";        }                       //【4】定义的普通方法work()        void work() {                System.out.println("Person类中实现的工作方法!");        }       }// ==============================================//【定义生活接口】public interface ILife {        void eat();        void drink();        void play();        void happy();}// ==============================================// 定义子类--学生public class Student extends Person implements ILife {        //【1】定义属性        private String className;             public String getClassName() {                return className;        }        public void setClassName(String className) {                this.className = className;        }                //【2】定义有参和无参的构造方法        public Student() {}        public Student(String name, int age,String className) {                super(name, age);                this.className=className;        }                //【3】重写toString()方法        @Override        public String toString() {                return "Student类 [name:=" + super.getName() +" age:="+ super.getAge()+" className:=" + className + "]";        }                //【4】实现接口方法        @Override        public void eat() {                System.out.println("学生喜欢吃快餐!");        }        @Override        public void drink() {                System.out.println("学生喜欢喝可乐!");        }        @Override        public void play() {                System.out.println("学生喜欢玩游戏!");        }        @Override        public void happy() {                System.out.println("学生爱课堂睡觉!");        }                //【5】定义的普通方法study()        public void study() {                System.out.println("学习是学生一生最快乐的事~_~");        }}// ==============================================// 定义子类教师public class Teacher extends Person {        //【1】定义属性        private int workYears;                public int getClassName() {                return workYears;        }        public void setClassName(int workYears) {                this.workYears = workYears;        }                //【2】定义有参和无参的构造方法        public Teacher() {}        public Teacher(String name, int age,int workYears) {                super(name, age);                this.workYears = workYears;        }                //【3】重写toString()方法        @Override        public String toString() {                return "Teacher类 [workYears=" + workYears + "]";        }                //【4】重写父类方法work()        public void work() {                System.out.println("老师工作挺辛苦,同学们给个面子支持下吧!");        }}// ==============================================//测试类--程序入口public class MyMain {        public static void main(String[] args) {                // 【1】实例化一个老师对象,并调用方法输出老师工龄                Teacher objTeacher=new Teacher("董福亮",40,20);                                objTeacher.work();                                                Student objStudent=new Student("管鑫淼",19,"软件工程2班");                objStudent.work();                System.out.println("==========上面两个对象调用同名方法不叫多态,因为他们类型不同Student和Teacher==============");                System.out.println();                                // 【2】测试多态调用work()方法                Person objT=new Teacher("董老师",30,10);                               objT.work();                Person objS=new Student("张钰",20,"软件工程2班");                objS.work();                System.out.println("=================这两个对象调用同名方法才叫多态,因为他们类型相同Person==================");                System.out.println();                                // 【3】测试Person类型变量(实质是Studeng类对象)时,调用子类独有(study())方法                Person obj=new Student("张钰",20,"软件工程2班");                //              obj.study();                 //      将显示错误信息:The method study() is undefined for the type Person                                Student result=(Student)obj;                result.study();                System.out.println("=========================================================================");                System.out.println("强制转换后才可以调用");                System.out.println("【注意】必须确定 赋给父类Person变量的是 子类Student类型的实例 才可以强制转换!");        }}

感谢各位的阅读,以上就是"简单类的写法及继承、接口等用法实例"的内容了,经过本文的学习后,相信大家对简单类的写法及继承、接口等用法实例这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0