Why is this valid boolean b = new A() instanceof A; if A is an abstract class? [on hold]Java abstract class namingWhy should I declare a class as an abstract class?Why should a class be anything other than “abstract” or “final/sealed”?Java's Boolean class - why not an enum?Why 'List<E>' is an 'interface' but not 'abstract class'?Is there an alternative to instanceof when filtering a Java stream by class?What is the rule for nested loop code?Why override a static method of an abstract base class?When and why would you put a new method into an interface instead of an abstract base class?Avoiding instanceof vs abstract God Class. Do I have an alternative?

LWC and complex parameters

How did the USSR manage to innovate in an environment characterized by government censorship and high bureaucracy?

Does it makes sense to buy a new cycle to learn riding?

How to deal with fear of taking dependencies

Can the Produce Flame cantrip be used to grapple, or as an unarmed strike, in the right circumstances?

What is the command to reset a PC without deleting any files

Ideas for 3rd eye abilities

Why do we use polarized capacitors?

What is it called when oen voice type sings a 'solo?'

Can I find out the caloric content of bread by dehydrating it?

New order #4: World

Could a US political party gain complete control over the government by removing checks & balances?

Shall I use personal or official e-mail account when registering to external websites for work purpose?

Is it legal to have the "// (c) 2019 John Smith" header in all files when there are hundreds of contributors?

What are the advantages and disadvantages of running one shots compared to campaigns?

Are objects structures and/or vice versa?

What is the meaning of "of trouble" in the following sentence?

Check if two datetimes are between two others

Does bootstrapped regression allow for inference?

Why do UK politicians seemingly ignore opinion polls on Brexit?

How to answer pointed "are you quitting" questioning when I don't want them to suspect

How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)

Is domain driven design an anti-SQL pattern?

What is the offset in a seaplane's hull?



Why is this valid boolean b = new A() instanceof A; if A is an abstract class? [on hold]


Java abstract class namingWhy should I declare a class as an abstract class?Why should a class be anything other than “abstract” or “final/sealed”?Java's Boolean class - why not an enum?Why 'List<E>' is an 'interface' but not 'abstract class'?Is there an alternative to instanceof when filtering a Java stream by class?What is the rule for nested loop code?Why override a static method of an abstract base class?When and why would you put a new method into an interface instead of an abstract base class?Avoiding instanceof vs abstract God Class. Do I have an alternative?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I have trouble understanding why this boolean b = new A() instanceof A; is a valid statement and not boolean b = new A() instanceof A; and why the former is true knowing that A is an abstract class.










share|improve this question







New contributor




Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











put on hold as off-topic by gnat, Bart van Ingen Schenau, David Arno, amon, Deduplicator Apr 5 at 10:06


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "Questions asking for assistance in explaining, writing or debugging code are off-topic here. These can be asked on Stack Overflow if they include the desired behavior, a specific problem or error, and the shortest code necessary to reproduce it in the question (see Minimal, Complete, and Verifiable Example)." – gnat, amon, Deduplicator
If this question can be reworded to fit the rules in the help center, please edit the question.






















    1















    I have trouble understanding why this boolean b = new A() instanceof A; is a valid statement and not boolean b = new A() instanceof A; and why the former is true knowing that A is an abstract class.










    share|improve this question







    New contributor




    Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.











    put on hold as off-topic by gnat, Bart van Ingen Schenau, David Arno, amon, Deduplicator Apr 5 at 10:06


    This question appears to be off-topic. The users who voted to close gave this specific reason:


    • "Questions asking for assistance in explaining, writing or debugging code are off-topic here. These can be asked on Stack Overflow if they include the desired behavior, a specific problem or error, and the shortest code necessary to reproduce it in the question (see Minimal, Complete, and Verifiable Example)." – gnat, amon, Deduplicator
    If this question can be reworded to fit the rules in the help center, please edit the question.


















      1












      1








      1








      I have trouble understanding why this boolean b = new A() instanceof A; is a valid statement and not boolean b = new A() instanceof A; and why the former is true knowing that A is an abstract class.










      share|improve this question







      New contributor




      Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I have trouble understanding why this boolean b = new A() instanceof A; is a valid statement and not boolean b = new A() instanceof A; and why the former is true knowing that A is an abstract class.







      java object-oriented






      share|improve this question







      New contributor




      Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Apr 5 at 1:19









      Dr.StoneDr.Stone

      192




      192




      New contributor




      Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Dr.Stone is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




      put on hold as off-topic by gnat, Bart van Ingen Schenau, David Arno, amon, Deduplicator Apr 5 at 10:06


      This question appears to be off-topic. The users who voted to close gave this specific reason:


      • "Questions asking for assistance in explaining, writing or debugging code are off-topic here. These can be asked on Stack Overflow if they include the desired behavior, a specific problem or error, and the shortest code necessary to reproduce it in the question (see Minimal, Complete, and Verifiable Example)." – gnat, amon, Deduplicator
      If this question can be reworded to fit the rules in the help center, please edit the question.







      put on hold as off-topic by gnat, Bart van Ingen Schenau, David Arno, amon, Deduplicator Apr 5 at 10:06


      This question appears to be off-topic. The users who voted to close gave this specific reason:


      • "Questions asking for assistance in explaining, writing or debugging code are off-topic here. These can be asked on Stack Overflow if they include the desired behavior, a specific problem or error, and the shortest code necessary to reproduce it in the question (see Minimal, Complete, and Verifiable Example)." – gnat, amon, Deduplicator
      If this question can be reworded to fit the rules in the help center, please edit the question.




















          1 Answer
          1






          active

          oldest

          votes


















          16














          The instanceof A has nothing to do with whether the statement is valid or not, so your question is simpler if you leave it off from both statements:



          A a = new A() ;
          A a = new A();


          The second statement isn't valid because A is abstract and you can't call new on any abstract class. If you could instantiate it, it would be an instance of A, but you can't.



          The first statement is valid because it creates an anonymous class that extends A. This anonymous class isn't abstract (assuming A doesn't define any abstract methods), and so it can be instantiated. It's an instance of A because all subclasses are instances of their parent classes, abstract or not. It's basically a shortcut for saying:



          public class AnonymousNameIDontCareAbout extends A 
          A a = new AnonymousNameIDontCareAbout();





          share|improve this answer





























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            16














            The instanceof A has nothing to do with whether the statement is valid or not, so your question is simpler if you leave it off from both statements:



            A a = new A() ;
            A a = new A();


            The second statement isn't valid because A is abstract and you can't call new on any abstract class. If you could instantiate it, it would be an instance of A, but you can't.



            The first statement is valid because it creates an anonymous class that extends A. This anonymous class isn't abstract (assuming A doesn't define any abstract methods), and so it can be instantiated. It's an instance of A because all subclasses are instances of their parent classes, abstract or not. It's basically a shortcut for saying:



            public class AnonymousNameIDontCareAbout extends A 
            A a = new AnonymousNameIDontCareAbout();





            share|improve this answer



























              16














              The instanceof A has nothing to do with whether the statement is valid or not, so your question is simpler if you leave it off from both statements:



              A a = new A() ;
              A a = new A();


              The second statement isn't valid because A is abstract and you can't call new on any abstract class. If you could instantiate it, it would be an instance of A, but you can't.



              The first statement is valid because it creates an anonymous class that extends A. This anonymous class isn't abstract (assuming A doesn't define any abstract methods), and so it can be instantiated. It's an instance of A because all subclasses are instances of their parent classes, abstract or not. It's basically a shortcut for saying:



              public class AnonymousNameIDontCareAbout extends A 
              A a = new AnonymousNameIDontCareAbout();





              share|improve this answer

























                16












                16








                16







                The instanceof A has nothing to do with whether the statement is valid or not, so your question is simpler if you leave it off from both statements:



                A a = new A() ;
                A a = new A();


                The second statement isn't valid because A is abstract and you can't call new on any abstract class. If you could instantiate it, it would be an instance of A, but you can't.



                The first statement is valid because it creates an anonymous class that extends A. This anonymous class isn't abstract (assuming A doesn't define any abstract methods), and so it can be instantiated. It's an instance of A because all subclasses are instances of their parent classes, abstract or not. It's basically a shortcut for saying:



                public class AnonymousNameIDontCareAbout extends A 
                A a = new AnonymousNameIDontCareAbout();





                share|improve this answer













                The instanceof A has nothing to do with whether the statement is valid or not, so your question is simpler if you leave it off from both statements:



                A a = new A() ;
                A a = new A();


                The second statement isn't valid because A is abstract and you can't call new on any abstract class. If you could instantiate it, it would be an instance of A, but you can't.



                The first statement is valid because it creates an anonymous class that extends A. This anonymous class isn't abstract (assuming A doesn't define any abstract methods), and so it can be instantiated. It's an instance of A because all subclasses are instances of their parent classes, abstract or not. It's basically a shortcut for saying:



                public class AnonymousNameIDontCareAbout extends A 
                A a = new AnonymousNameIDontCareAbout();






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Apr 5 at 3:36









                Karl BielefeldtKarl Bielefeldt

                121k32217415




                121k32217415













                    Popular posts from this blog

                    Sum ergo cogito? 1 nng

                    三茅街道4182Guuntc Dn precexpngmageondP