java抽象类和接口

author author     2022-07-30     210

关键词:

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抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己... 查看详情