Classes
Abstract classes can't be instantiated.
/**
* By marking the class abstract, you can prevent instantiation.
*
* What exactly is an Animal object, what color, what size?
* We don't know, so the class must be defined as abstract.
*/
package com.minte9.oop.abstract_keyword;
public class Classes {
public static void main(String[] args) {
new Dog("gray");
//new Animal(); // force compile error - what color?
}
}
abstract class Animal {
protected String color;
public Animal(String c) {
color = c;
}
}
class Dog extends Animal {
public Dog(String c) {
super(c);
}
}
Methods
An abstract method must be overridden.
/**
* An abstract class means ... the class must be extended.
* An abstract method means ... the method must be overridden.
*/
package com.minte9.oop.abstract_keyword;
public class Methods {
public static void main(String[] args) {
new D();
}
}
abstract class A {
public abstract void setValue(); // abstract
public void setName() { // non-abstract
}
}
class D extends A {
@Override
public void setValue() { // Look Here
}
}
Last update: 450 days ago