Skip to main content

Abstract class-1

Abstract class:-abstract is a  modifier used for class and methods, abstract modifier is used for class than that class must be inherit by other class otherwise that class will be useless and nobody can create object of abstract class directly but we can create object of sub class of abstract class. Abstract modifier is used on methods, those methods called abstract methods. An abstract method shows only requirement specification only and implementation provided by sub class of abstract class, if sub class not provides implementation of abstract methods than that sub class must be declared as an abstract.
Abstract class can contains both concrete methods as well as abstract methods. But normal class or non abstract class cannot contain abstract methods.
If any class is declared as an abstract than that class not compulsorily contains abstract methods but if any class contains abstract methods that class must be declared with abstract modifier.

1)   Abstract class may be empty.
2)   Abstract class can contain concrete methods only.
3)   Abstract class can contain abstract methods only.
4)   Abstract class can contain concrete methods and abstract methods.


Example1:-Student.java


 class Student
{
abstract void disp();
}

Output:-

C:\JAVATECH>javac Student.java
Student.java:1: error: Student is not abstract and does not override abstract method disp() in Student
class Student
^
1 error

Example2:-Student.java

class Student
{
void disp();
}

Output:-

C:\JAVATECH>javac Student.java
Student.java:3: error: missing method body, or declare abstract
 void disp();
      ^
1 error

Example3:-

abstract class Student
{
abstract void disp();
public static void main(String[]args)
{
System.out.println("Well-Come Friends");
}
}

Output:-

C:\JAVATECH>javac Student.java
C:\JAVATECH>java Student
Well-Come Friends

Example4:-

abstract class Student
{
abstract void disp();
public static void main(String[]args)
{
Student s=new Student();
System.out.println("Well-Come Friends");
}
}

Output:-

C:\JAVATECH>javac Student.java
Student.java:6: error: Student is abstract; cannot be instantiated
Student s=new Student();
          ^
1 error

Example5:-Test.java

abstract class Student
{
abstract void disp();
}
class Test extends Student
{
public static void main(String[]args)
{
Test t=new Test();
System.out.println("Well-Come Friends");
}
}

Output:-

C:\JAVATECH>javac Test.java
Test.java:5: error: Test is not abstract and does not override abstract method disp() in Student
 class Test extends Student
 ^
1 error

Example6:- 

abstract class Student
{
abstract void disp();
}
abstract class Test extends Student
{
public static void main(String[]args)
{
Test t=new Test();
System.out.println("Well-Come Friends");
}
}

Output:-

C:\JAVATECH>javac Test.java
Test.java:9: error: Test is abstract; cannot be instantiated
Test t=new Test();
       ^

1 error

Comments

Popular posts from this blog

Inheritance-4

Example10:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(null); System.out.println("This is sub class Zero argument constructor"); } public static void main(String[]args) { Test t=new Test(); } } Output:- C:\JAVATECH>javac Test.java C:\JAVATECH>java Test This is super class One argument constructor This is sub class Zero argument constructor Example11:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(); super(null); System.out.println("This is su...

Regarding class files

Class files:- Regarding class file or dot class file also known as byte code of class, in a java programming language we can use any number of classes in our program. After compilation all classes convert into individual   .class   file. Example:- class A { } class B { } class C { } class Student { public static void main(String[]args) { System.out.println("Well-come to my java blog"); } } We can save above program to any   classname.java   or we can use any other   name.java,   there is no compulsion for java file name. But recommended to save by that class name which having main method. I saved the above file to   Student.java   name .   Before compilation my   C:\JAVATECH   folder contain only one java file. Student.java For  compilation. C:\JAVATECH>javac  Student.java After compilation   my   C:\JAVATECH   folder contains five files, on...

Inner classes

Inner Classes:- class inside class or interface called inner class or nested class. Advantage of inner classes is grouping multiple classes and interfaces into a single class. Another big advantage of inner class is that inner class can happily access all the data or variables of outer class directly. Types of Nested classes:- There are two types of nested classes static and non-static nested classes. (A)Non –static inner classes:- 1)     Member inner class 2)     Anonymous inner class 3)     Local inner class (B)Static nested class Example1:-Outer.java class Outer { class Inner { void disp() { System.out.println("Hello This is Inner class Method"); } } public static void main(String[]args) { Inner in=new Inner(); in.disp(); } } Output:- C:\JAVATECH>javac Outer.java Outer.java:12: error: non-static variable this cannot be referenced from a static context Inner in=new Inner(); ...