JavaSE8基础 抽象类可以通过多态的方式来进行(伪)实例化

os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)
    
    
代码:

//抽象类中可以有 普通的成员方法
abstract class Person {

	//非抽象方法
	public void sayHello(){

	}

	//抽象方法
	public abstract void study();
	public abstract void play();

}

class Javaer extends Person{

	//子类必须重写抽象类中所有抽象方法
	public void study() {
		System.out.println("学习Java");
	}

	public void play() {
		System.out.println("玩耍");
	}
}

class Demo {
	public static void main(String[] agrs) {

		//抽象类可以通过多态的方式来进行 伪实例化
		Person j = new Javaer();
		j.study();
		j.play();
	}
}

结果:



Java优秀,值得学习。
学习资源:itcast视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
如果您觉得博文有可以改进的地方,留言即可。

时间: 2024-09-30 14:57:56

JavaSE8基础 抽象类可以通过多态的方式来进行(伪)实例化的相关文章

JavaSE8基础 抽象类的引用作为函数的参数 指向的一定是子类的对象

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: abstract class Person { public abstract void sayHello(); } class Javaer extends Person{ public void sayHello() { System.out.println("Java Hello"); } }

JavaSE8基础 抽象类中可以有 非抽象的成员方法

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //抽象类中可以有 普通的成员方法 abstract class Person { //非抽象方法 public void sayHello(){ } //抽象方法 public abstract void study(); } class Demo { public static void main(Str

JavaSE8基础 抽象类实现只包含抽象方法的接口

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //接口,使用接口的类 表明这个类可以实现该接口中的所有函数 //这个接口就相当于 证书似的,证明你有相应的能力! interface PersonTrain { //只要函数的声明,不要具体实现 public abstract void writeBook(); } //抽线类实现一个接口 abstract

JavaSE8基础 抽象类中可以有 静态方法,直接调用

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //抽象类中可以有 静态方法,可以直接调用 abstract class Person { public static void sayHello() { System.out.println("hello"); } } class Javaer extends Person{ } class De

JavaSE8基础 抽象类中可以有 普通的成员变量和构造方法

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //抽象类中可以有 普通的成员变量 abstract class Person { public int num; //构造方法 public Person() { //构造方法的作用是:初始化 子类可以访问的 父类中的成员 num = 1; } } class Javaer extends Person{

java类与对象基础--抽象类和接口

在java的类体系中,有两个比较特殊的抽象体--抽象类和接口.抽象体并不可以拥有具体的对象(而且接口甚至不是类),但是它们却是在java设计领域非常重要的两个概念,很多优秀的设计模式都是基于这两个概念的,尽管我们在进行应用开发时可能用的比较少,但是在真正的大型项目的架构开发中,他们是用来确定整个项目的整体框架的,是必不可少的.下面对抽象类以及接口的一些基本语法知识进行整理,用以备忘. 一.什么是抽象类?什么是接口? 首先,前面也说了,抽象类和接口都不可直接实例化,它很多时候只是在声明引用的时候拿

黑马程序员----java基础---抽象类和接口,附相关面试题

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一:抽象类(掌握) (1)把多个共性的东西提取到一个类中,这是继承的做法. 但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体. 也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样. 所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体. 而一个没有具体的方法体的方法是抽象的方法. 在一个类中如果有抽象方法,该类必须定义为抽象类. (2)抽象类的特点 A:

java基础-抽象类与接口(转)

抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类       我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal(),我们都知道这个是产生一个动物Animal对象,但

java基础之【继承--->多态】内存图

执行流程 1:Animal a = new Cat(); 1.1:在栈中创建区域,类型为Animal,变量名:a; 1.2:在堆中new Cat();占用一块区域.地址值:[0x3a4] 1.3:spuer()实例化父类Animal. 1.3.1:new Animal();占用一块区域,地址值:0x3ab; 1.3.2:引用着在方法区中初始化[Animal中的所有方法,该引用为:[0x754]]. 1.3.3:将Animal()引用赋给spuer();spuer引用着Animal(); 1.4: