精华内容
下载资源
问答
  • 抽象类实例化方法

    千次阅读 2018-10-31 22:00:30
    抽象类实例化方法 抽象类可以有自己的构造方法,但是不能直接通过new进行实例化。但是可以通过子类继承,实例化子类的时候抽象类也会被实例化。 ...

    抽象类的实例化方法
    抽象类可以有自己的构造方法,但是不能直接通过new进行实例化。但是可以通过子类继承,实例化子类的时候抽象类也会被实例化。

    展开全文
  • java抽象类实例化

    千次阅读 2018-10-01 15:51:53
    简单的讲抽象类肯定是可以被实例化的,不过不是通过通常的 new方法来实现的,我们都知道抽象类必须被继承,且子类必须覆写父类中全部的抽象方法,但我们都知道在java中实例化子类的同时父类也必须被实例化,由此可知...

    简单的讲抽象类肯定是可以被实例化的,不过不是通过通常的 new方法来实现的,我们都知道抽象类必须被继承,且子类必须覆写父类中全部的抽象方法,但我们都知道在java中实例化子类的同时父类也必须被实例化,由此可知抽象类肯定是可以被实例化的。

    展开全文
  • 在c++和java中我们会定义很多类,但是我们会遇到在对类进行new实例化时会遇到“不能实例化抽象类”或者“抽象类不能实例化”,针对这个问题要首先理解两个内容“抽象类”和“实例化” 如果只是想单纯的理解,那么...

    在c++和java中我们会定义很多类,但是我们会遇到在对类进行new实例化时会遇到“不能实例化抽象类”或者“抽象类不能实例化”,针对这个问题要首先理解两个内容“抽象类”和“实例化”

    如果只是想单纯的理解,那么意思就是你画了一个有四条边的图形你说是矩形

    但是这是不可以的,为什么?因为矩形还有一个条件就是要四个内角是直角

    其中画有四条边的图形就是抽象类,矩形就是实例化

    如果理解了含义但是不懂代码中的定义,那么那么就百度百度定义!定义真的很重要!

    抽象类定义:

    含有纯虚函数的类称为抽象类

    实例化的定义:

    用类创建对象的过程

    纯虚函数的定义:

    一个只有函数名、参数和返回值类型,没有函数体的函数成为纯虚函数。

    这一层懂了当然最好

    如果不懂再来看看代码test 中shape未编译通过

    #include <iostream>
    using namespace std;
    //定义一个形状抽象类(基类)
    class Shape {
        //保护继承 ,其派生类也会继承保护成员
      protected:
        double x;
        double y;
        //公有继承
      public:
        void set(double i, double j) {
            x = i;
            y = j;
        }
        //纯虚函数
        virtual void area() = 0;
    };
    //定义矩形类并定义其面积为长*宽(派生类)
    class Rectangle : public Shape {
        void area() { cout << x * y << endl; }
    };
    
    int main() {
        Rectangle rec; //定义一个矩形对象(实例化)
        // Shape rec;
        Shape *p = &rec; //定义一个抽象类的指针,并使它指向矩形对象
        p->set(2, 4);    //调用
        p->area();
        return 0;
    }

    详细定义矩形,可以实例化并正常输出

    未定义,提示含有纯虚函数无法抽象实例化对象

     

    展开全文
  • java 接口及抽象类实例化

    千次阅读 2019-02-21 17:32:55
    我们通常被告知java的接口和抽象类都是不能被实例化的。但在实际代码中,你是否见过类似以下的奇怪代码: public static void main(String[] args) { Frame frame = new Frame("kroseing"); frame....

    我们通常被告知java的接口和抽象类都是不能被实例化的。但在实际代码中,你是否见过类似以下的奇怪代码:

        public static void main(String[] args) {
            Frame frame = new Frame("kroseing");
            frame.addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosed(WindowEvent e) {
                    super.windowClosed(e);
                }
            });
        }

    是的,WindowAdapter作为一个抽象类,它被"实例化"了!

    实际上,这是运用了java中的匿名类,达到了看起来实例化接口或抽象类的效果,实际是匿名类实现了接口或抽象类,实例化的是此匿名类。

    下面提供一hello world 级别的示例:

    创建一个接口类:InterfaceClass

    /**
     * author:kroseing
     * 2019-02-21 17:25
     */
    public interface InterfaceClass {
        public void getB();
    
        public void getD();
    }

    创建一个抽象类:AbstractClass

    /**
     * author:kroseing
     * 2019-02-21 17:25
     */
    public abstract class AbstractClass  {
        public void getA(){}
    
        abstract void getC();
    }

    创建测试类:NimingleiTest

    /**
     * author:kroseing
     * 2019-02-21 17:25
     */
    public class NimingleiTest {
    
        public static void main(String[] args) {
            AbstractClass testInterface = new AbstractClass() {
                @Override
                public void getA() {
                    System.out.println("hoorui!!!");
                }
    
                @Override
                public void getC(){
    
                }
            };
    
            new InterfaceClass(){
                @Override
                public void getB() {
                    System.out.println("niuB");
                }
    
                @Override
                public void getD() {
    
                }
            }.getB();
            testInterface.getA();
        }
    }

    运行结果:

    niuB
    hoorui!!!

    展开全文
  • 大家都知道抽象类无法实例化,就无法创建对象。所以下面这篇文章主要给大家介绍了关于Java实例化一个抽象类对象的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧...
  • Java的抽象类实例化

    万次阅读 2018-03-19 14:35:37
    简介 《Java编程思想》书中定义...因为抽象类中含有无具体实现的方法,所以一般不能用抽象类创建对象。 // 抽象类 public abstract class ClassName { // 抽象方法:只有声明,而没有具体的实现 abstract voi...
  • 大家都知道抽象类不能被实例化 例如有个抽象类A 内有一个抽象方法public abstract void test(); A a = new A();是不行的 但 A a = new A(){ public void test(){ } }; 就ok 看起来就是调用构造函数的时候顺便重写...
  • 抽象类实例化

    千次阅读 2018-10-29 15:53:32
    抽象类不能通过new实例化,即使它所有的纯虚函数都在派生类中重写,也只能实例化子类(派生类)。 当实例化派生类时,抽象类也会跟随着实例化
  • java抽象类实例化问题

    2015-07-31 00:09:11
    我写了一个AbstractClass的抽象类,如下所示:![图片说明]...之后写了这样的代码: !...运行结果是这样的: !...不是说java的抽象类不能被实例化吗?这是什么意思?希望各位能够解答一下这个问题。
  • 验证抽象类是否可以在子类未实例化时调用子类实现的抽象方法; 验证java的多态性 实例抽象类:package com.secbro.test.abstractInit;/** * @author zhuzhisheng * @Description * @date on 2016/5/28. */ ...
  • Java 抽象方法实例化

    千次阅读 2016-10-25 09:33:32
    这样写是错误的,但是抽象类可以声明对象,因为,抽象类的子类必须复写抽象类中的所有抽象方法,即抽象类的子类是可以直接实例化的,所以,通过父类的引用来指向子类的实例来间接地实现父类的实例化,这是父类引用...
  • 今天被问到抽象类要不要有构造函数的时候, 我随口一答应该是没有的, 我以为, 抽象类是不能直接用new来被实例化的, 所以也就不需要再去写构造函数了; 随后查了一下明白: 抽象类也需要构造函数, 在大多数情况中抽象类...
  • 抽象类可以实例化吗?

    万次阅读 多人点赞 2018-11-01 15:29:45
    抽象类可以有自己的构造方法,但是不能直接通过new进行实例化。但是可以通过子类继承,实例化子类的时候抽象类也会被实例化。这其实用到了多态,向上转型。父类引用指向子类对象~ ...
  •       接口是我们常用的,抽象类好像并不是怎么常用,但这并不代表他不重要,他可以被继承,可以有构造方法,可以给类中的成员变量赋初值,接口就没有...抽象类不能够被实例化,也就是说
  • 如何实现抽象类实例化

    千次阅读 2018-11-01 12:05:06
    正常情况下抽象类是不能实例化的,但可以模拟实例化,即 利用匿名内部类可以实现抽象类的,举例如下: 1、需要实例化抽象类 代码如下: public abstract class AbstractFruit { private String name; ...
  • # **不用继承该抽象类,只是借助该抽象类就能通过反射来调用抽象类实例方法吗?**
  • 抽象类不能进行实例化吗?

    万次阅读 2017-07-26 10:55:44
    抽象类可以有自己的构造方法,但是不能直接通过new进行实例化。但是可以通过子类继承,实例化子类的时候抽象类也会被实例化
  • 抽象类无法直接实例化,它的实例化方式并不是通过普通的new方式来创建对象,而是通过父类的应用来指向子类的实例间接地实现父类的实例化,因为子类在实例化之前,一定会先实例化它的父类。这样创建了继承抽象类的...
  • 抽象类是否可以实例化讨论

    千次阅读 2018-04-14 14:59:11
    Answer:(1)、首先,抽象类是不可以实例化的,但只是不可以传统做法中的通过new来进行实例化,而是通过父类的应用来指向子类实例间接地实现父类的实例化,因为子类在实例化之前,一定会优先实例化它的父类。...
  • 接口在Java1.8之前是不可以写静态方法的,之后可以写,亲测; 抽象类可以用子类去实例化,本身不可以
  • 抽象类通过子类被实例化

    千次阅读 2019-12-03 13:50:00
    抽象类其实是可以被实例化的,但是它的实例化方式并不是通过普通的new方式来创建对象,而是通过父类的应用来指向子类的实例间接地实现父类的实例化,因为子类在实例化之前,一定会先实例化它的父类。这样创建了继承...
  • 关于为什么抽象类不可以被实例化

    千次阅读 2018-04-26 20:17:11
    个人想法为什么抽象类不可以被实例化?首先有2个设定在:含有抽象类方法必须被定义为抽象类。抽象方法是不能被调用的。虽然抽象类中不一定有抽象方法,但一旦有抽象方法时,就可以通过点方法调用,导致1、2两个...
  • JAVA中抽象类不能实例化,但是却可以写构造方法,为什么呢?  首先第一点:构造方法不能实例化,想象一下,如果可以实例化,那么,实例化的是所有的子类还是具体哪一个?  第二点:为什么可以有构造方法?  看...
  • 抽象类可以没有抽象方法,不能被实例化
  • Java中接口及抽象类实例化问题

    千次阅读 2017-09-20 13:21:32
    我们都知道抽象类是不能被实例化的,但是,如果我们直接new一个抽象类,则会出现一个匿名类,并要求实现它的抽象方法。对于接口来说,同理。 对于抽象类来说,是可以提供一个构造函数的;但是,接口是没有构造函数...
  • 关于抽象类无法实例化,但是可以使用"new"来实例的疑问. 背景:昨天下午回答一个实习生问的问题,大致的经过是这样的: 他问的:“为什么抽象类无法实例化,但是可以new出来一个实例,官方这么说是什么意思?而且去了各类...
  • 首先我们知道,一个类如果是抽象类,我们就不能用这个类实例化一个对象。什么样的类是抽象类呢? C++没有C Sharp中的关键字abstract,但是当一个类中有一个或多个纯虚函数的时候,这个类就自动成为了抽象类,即不...
  • 抽象类和接口实例化

    千次阅读 2011-08-18 16:09:18
    1.为抽象类实例化 abstract class A{ // 定义抽象类A public abstract void print() ; // 定义抽象方法print() }; class B extends A { // 定义子类,继承抽象类 public void

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 481,339
精华内容 192,535
关键字:

抽象类实例化方法