Click here to watch in Youtube :
https://www.youtube.com/watch?v=9JDbBNs6dhc&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge
Java Tutorial : Java Exception handling (final vs finally vs finalize) |
public class FinalDemo1 { public static void main(String[] args) { /* * If the final keyword is attached to a variable * then the variable becomes constant i.e. its value * cannot be changed in the program. */ final int intValue = 1000; intValue = 500;// Compile Time Error } }
OutputException in thread "main" java.lang.Error: Unresolved compilation problem: The final local variable intValue cannot be assigned. It must be blank and not using a compound assignment at FinalDemo1.main(FinalDemo1.java:11)
class SuperClass { final void methodOfSuperClass() { System.out.println("final Method"); } } class SubClass extends SuperClass { void methodOfSuperClass() { //Compile time error, final method can not be overridden. } } public class FinalDemo2 { public static void main(String[] args) { SuperClass superClass = new SubClass(); superClass.methodOfSuperClass(); } }
Exception in thread "main" java.lang.VerifyError: class SubClass overrides final method methodOfSuperClass.()V at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)FinalDemo3.java
/* * If a class is marked as final then this class * cannot be inherited by any other class. */ final class SuperClass1 { void methodOfSuperClass() { System.out.println("final class"); } } class SubClass1 extends SuperClass1 { } public class FinalDemo3 { public static void main(String[] args) { SuperClass1 superClass1 = new SubClass1(); superClass1.methodOfSuperClass(); } }
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from SubClass1 to SuperClass1 at FinalDemo3.main(FinalDemo3.java:23)FinalizeDemo.java
public class FinalizeDemo { private String name = null; public FinalizeDemo(String name) { super(); this.name = name; } public static void main(String[] args) throws InterruptedException { FinalizeDemo FinalizeDemo1 = new FinalizeDemo("FinalizeDemo1"); FinalizeDemo1 = null; FinalizeDemo FinalizeDemo2 = new FinalizeDemo("FinalizeDemo2"); FinalizeDemo1 = null; FinalizeDemo2 = null; System.gc(); Thread.sleep(100); } public void finalize() { System.out.println(this.name + " Object finalize method is called"); } }
FinalizeDemo2 Object finalize method is called FinalizeDemo1 Object finalize method is calledFinallyDemo.java
public class FinallyDemo { public static void main(String[] args) { try { String str = "Peter"; System.out.println("str = "+str); } catch (Exception exe) { exe.printStackTrace(); } finally { System.out.println("finally block is executed"); } } }
str = Peter finally block is executed
https://sites.google.com/site/javaee4321/java/ExceptionDemo_final_finally_finalize_App.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/ExceptionDemo_final_finally_finalize_App
Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/969ffd88eb34c4fd42d966118b27490392b78865/BasicJava/ExceptionDemo_final_finally_finalize_App/?at=master
See also:
Excellent…Amazing…. I’m satisfied to find so many helpful information here within the put up,for latest php jobs in near me. we want work out extra strategies in this regard, thanks for sharing.
ReplyDeleteVery useful information. Keep posting, java training
ReplyDeletejava online training