- BASICS
- Classes
- Objects
- Arrays
- Variables
- Loops
- Numbers
- Strings
- Exceptions
- Regexp
- OOP
- Inheritance
- Polymorphism
- Static Keyword
-
Abstract Keyword
- Interfaces
- Constructors
- Packages
- Nested Classes
- Final Keyword
- SWING
- Frame
- Panel
- Listener
- Combo Box
- Label
- Image
- Menu
- Table
- Layout
- Drawing
- Timer
- Designer
- COLLECTIONS
- Lists
- Comparable
- Sets
- Maps
- Generics
- Properties
- Streams
- Json
- COMPILER
- Sublime Text
- Apache Ant
- I/O
- Streams IO
- Socket
- Watching Files
- Logger
- Clipboard
- Encrypt
- JAVAFX
- Openjfx
- Scene Builder
- First App
- Jar Archive
- On Action
- Change Listener
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: 531 days ago