关键词:
1、定义Pet抽象类
public abstract class Pet { private String name; private int age; private int health; private String love; public Pet(){ //System.out.println("父类无参构造方法"); } public Pet(String name,int age,int health,String love){ this.name = name; this.age = age; this.health = health; this.love = love; //System.out.println("父类有参构造方法"); } //get方法、set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getHealth() { return health; } public void setHealth(int health) { this.health = health; } public String getLove() { return love; } public void setLove(String love) { this.love = love; } //父类的打印方法 public void print(){ System.out.println(name+" "+age+" "+health+" "+love); } //抽象方法:访问修饰符+abstract关键字+返回值+方法名 //抽象方法必须在抽象类中,抽象方法没有方法体(没有大括号) public abstract void shout(); //普通方法 /*public void shout(){ System.out.println("宠物的叫声!"); }*/ } //Dog子类 public class Dog extends Pet { public String strain; // public Dog() { // // //System.out.println("子类无参构造方法"); // } public Dog(String name, int age, int health, String love,String strain) { super(name, age, health, love); //System.out.println("子类有参构造方法"); } // public String getStrain() { // return strain; // } // // public void setStrain(String strain) { // this.strain = strain; // } //子类方法重写 // public void print(){ // // System.out.println(super.getName()+" "+super.getAge()+" "+super.getHealth()+" "+super.getLove()+" "+strain); // } public void shout(){ System.out.println("名叫"+this.getName()+"的小狗汪汪的叫!"); } } //Pet测试类 public class PetDemo { public static void main(String[] args) { // Dog dog = new Dog("旺财",2,100,"友爱","泰迪"); //dog.setName("旺财"); //dog.strain="泰迪"; //dog.setAge(2); //dog.setHealth(100); //dog.setLove("友爱"); // System.out.println(dog.getName()+" "+dog.strain+" "+dog.getAge()+" "+dog.getHealth()+" "+dog.getLove()); // dog.print(); // Penguin penguin = new Penguin(); // Pet pet1 = new Dog(); //// Pet pet2 = new Penguin(); // pet1.shout(); //// pet2.shout(); // // Petshop petshop = new Petshop(); // // Pet pet3 = petshop.BuyPet(); // // pet3.shout(); // // if(pet3 instanceof Dog){ // // Dog dog1 = (Dog)pet3; // System.out.println(dog1.getStrain()); // // }else{ // // Penguin penguin1 = (Penguin)pet3; // System.out.println(penguin1.getSex()); // } // Pet dog = new Dog("旺财",12,100,"友爱","泰迪"); dog.shout(); }
结果验证:
名叫旺财的小狗汪汪的叫!
2、//定义电源插座的接口,具有供电的能力;
public interface Socket { public void getPower(); }
//定义类:电视类实现电源插座接口;
public class TV implements Socket{ public void getPower(){ System.out.println("电视机插入电源插座开始播放电视节目。"); } }
//定义测试类,包含电器开始工作的方法,参数为电器对象;
public class SocketDemo { public static void main(String[] args) { Socket tv = new TV(); tv.getPower(); } }
//测试结果
电视机插入电源插座开始播放电视节目。
3、
//
public abstract class Person_student { public String name; public Person_student(String name) { super(); this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
public interface Work { public void getWork(); }
public interface Study { public void getStudy(); }
public class Graduate_student extends Person_student implements Work,Study { public Graduate_student(String name) { super(name); } public void getWork(){ System.out.println(this.getName()+"研究生具有工作能力。"); } public void getStudy(){ System.out.println(this.getName()+"研究生具有学习能力。"); } }
public class GraduateDemo { public static void main(String[] args) { Graduate_student stu = new Graduate_student("张三"); stu.getStudy(); stu.getWork(); } }
本文出自 “技术进阶” 博客,请务必保留此出处http://vipnoon.blog.51cto.com/7589908/1795087
java抽象类和接口
**********************第九章抽象类和接口************************** **************************抽象类**************************一.why什么时候想到使用抽象类需求:矩形、三角形、圆形方法:1.求周长2.求面积3.说出我有几条边4.简单的介绍我自己打印... 查看详情
java抽象类和接口
***********************体会接口的好处*******************************一.可维护、可扩展面向接口编程接口:父类型面向父类编程 二.解耦高内聚、低耦合耦合:类和类之间的关系...只要类和类之间有四种关系就是耦合(关联、继承、实现、... 查看详情
[转]java抽象类和接口
很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象... 查看详情
java抽象类和接口
1Java抽象类在了解抽象类之前,先来了解一下抽象方法。抽象方法:一个被声明为abstract而没有具体实现的方法称为抽象方法。abstractvoidtest();//nobodyandabstract 抽象类:如果一个类含有抽象方法,则称这个类为抽象类,抽象类必... 查看详情
java基础5:抽象类和接口
Java基础5:抽象类和接口 1抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己实现,比如Stringbuffer和Stringbuilder的父类abstractStringbuilder。2接口一般指一种规定,比如一个map接口中,可能需要实现增删改查等功能,... 查看详情
java基础-抽象类和接口
抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。抽象定义: 抽象就是从多个... 查看详情
java抽象类和接口的区别
成员区别抽象类:成员变量:可以变量,也可以常量构造方法:有成员方法:可以抽象,也可以非抽象 接口:成员变量:只可以是常量成员方法:只可以抽象 关系区别类与类:继承,单继承 类与接口:实现,单... 查看详情
抽象类和接口
接口是一种特殊的抽象类接口和抽象类的不同点: 1.抽象类中可以有实例属性;而接口中没有实例属性,Java虚拟机会自动给接口的加上publicstaticfianl修饰符,都是公开的静态常量 2.抽象类中可以有实例方法;而接口中没... 查看详情
[java]抽象类和接口
目录抽象类接口1抽象类定义如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来实例化的类,我们称它为抽象类。抽象类的特点抽象类不能被实例化,但可以引用子类对象。子类必须实现抽象类的抽象方... 查看详情
java-抽象类和接口的区别
1、成员区别: - 抽象类 * 成员变量:可以变量,也可以常量 * 构造方法:有 * 成员方法:可以抽象,也可以非抽象 - 接口 * 成员变量:只可以常... 查看详情
java抽象类和接口
***************************接口*********************************一.why需求一直不变的时候可以不使用接口,需求经常发生改变推荐使用接口...软件产品中需求会经常改变,所以一般都要使用接口...体现了可维护、可扩展的优点二.什么是接口一... 查看详情
java—爆肝1w字❤只为弄懂抽象类和接口(代码片段)
抽象类与接口抽象类定义和语法理解抽象类作用抽象类总结:接口概念接口特性注意事项:实现多个接口接口使用实例Clonable接口和深拷贝抽象类和接口的区别?抽象类定义和语法包含抽象方法的类,叫做抽象类... 查看详情
java复习笔记1--抽象类和接口
...一系列是今年7月份至8月份为实习面试所复习的Java功课~抽象类和接口是Java对抽象概念进行定义的2种机制。抽象类一个类没有足够的信息来描述一个具体的对象,需要其他具体的类才支撑它。抽象类体现了数据抽象的四小,是实... 查看详情
java抽象类和接口
一.抽象类(1)定义抽象,就是不够具体在人脑中,很多的概念其实也是抽象的,例如动物,水果使用了关键词abstract声明的类叫作“抽象类”。 (2)语法体现abstract-抽象的可以修饰类也可以修饰方法1抽象类不能创建实例,... 查看详情
java抽象类和接口
对于抽象类以及接口的概念,大家都容易把这两者搞混,其实我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料。抽象类是从一系列相关对象中抽象出来的概念... 查看详情
我是如何理解java抽象类和接口的
在面试中我们经常被问到:Java中抽象类和接口的区别是什么?然后,我们就大说一通抽象类可以有方法,接口不能有实际的方法啦;一个类只能继承一个抽象类,却可以继承多个接口啦,balabala一大堆,就好像把标准答案熟练的... 查看详情
java基础5:抽象类和接口(代码片段)
本节主要介绍了抽象类和接口的特性和使用方法。1.抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己实现,比如Stringbuffer和Stringbuilder的父类abstractStringbuilder.2.接口一般指一种规定,比如一个map接口中,可能需要实... 查看详情
java基础5:抽象类和接口
本文主要介绍了抽象类和接口的特性和使用方法。具体代码在我的GitHub中可以找到https://github.com/h2pl/MyTech文章首发于我的个人博客:https://h2pl.github.io/2018/04/24/javase51抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己... 查看详情