default_Keyword 拼搏现实的明天。 2021-11-05 08:24 182阅读 0赞 ## Java default keyword ## A Java default keyword is an access modifier. If you didn’t assign any access modifier to variables, methods, constructors and, classes, by default, it is considered as default access modifier. Points to remember The default access modifier is accessible within the package only. Unlike private and protected, we can create a default outer class by not assigning any access modifier to it. In such a case, it not restricted to take class name similar to a program name. If you are overriding any method, overridden method (i.e., declared in the subclass) must not be more restrictive. So, the default method or variable can’t be allowed to use private access modifier. Examples of default keyword ### Example 1 ### Let’s see an example to determine whether the default variable is accessible or not outside the package. //save by A.java package com.java; public class A { String msg="Try to access default variable outside the package"; } //save by DefaultExample1.java package com.javatpoint; import com.java.A; public class DefaultExample1 { public static void main(String[] args) { A a=new A(); System.out.println(a.msg); } } Output: Exception in thread "main" java.lang.Error: Unresolved compilation problem: The field A.msg is not visible ### Example 2 ### Let’s see an example to determine whether the default variable is accessible or not outside the class within the package. class A { String msg="Try to access the default variable outside the class within the package"; } public class DefaultExample2 { public static void main(String[] args) { A a=new A(); System.out.println(a.msg); } } Output: Try to access the default variable outside the class within the package ### Example 3 ### Let’s see an example to determine whether the default method is accessible or not outside the package. //save by A.java package com.java; public class A { void msg() { System.out.println("Try to access default method outside the package "); } } //save by DefaultExample2.java package com.javatpoint; import com.java.A; public class DefaultExample2 { public static void main(String[] args) { A a=new A(); a.msg(); } } Output: Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method msg() from the type A is not visible ### Example 4 ### Let’s see an example to determine whether the default method is accessible or not outside the package using inheritance. //save by A.java package com.java; public class A { void msg() { System.out.println("Try to access default method outside the package using inheritance"); } } //save by DefaultExample4.java package com.javatpoint; import com.java.A; public class DefaultExample4 extends A { public static void main(String[] args) { DefaultExample4 a=new DefaultExample4(); a.msg(); } } Output: Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method msg() from the type A is not visible ### Example 5 ### Let’s see an example to determine whether we use default outer class. class DefaultExample5 { void display() { System.out.println("Try to access outer default class"); } public static void main(String[] args) { DefaultExample5 p=new DefaultExample5(); p.display(); } } Output: Try to access outer default classs ### Example 6 ### Let’s see an example to determine whether we create the instance of default constructor from outside the class. package com.java; public class A { String msg; A(String msg) { this.msg=msg; } public void display() { System.out.println(msg); } } //save by DefaultExample6.java package com.javatpoint; import com.java.A; public class DefaultExample6 { public static void main(String[] args) { A a=new A("Try to create the instance of default constructor outside the package"); a.display(); } } Output: Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor A(String) is not visible ### Example 7 ### Let’s see an example to determine whether the default method is overridden to sub-class using default access modifier. class A { void msg() { System.out.println("Try it"); } } //save by DefaultExample7.java class DefaultExample1 extends A { void msg() { System.out.println("Try to access the overridden method"); } public static void main(String[] args) { DefaultExample7 p=new DefaultExample7(); p.msg(); } } Output: Try to access the overridden method ### Example 8 ### Let’s see an example to determine whether the default method is overridden to sub-class using private access modifier. class A { void msg() { System.out.println("Try it"); } } class DefaultExample8 extends A { private void msg() { System.out.println("Try to access the overridden method"); } public static void main(String[] args) { DefaultExample8 p=new DefaultExample8(); p.msg(); } } Output: Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A ### Example 9 ### Let’s see an example to determine whether the default method is overridden to sub-class using default access modifier. class A { void msg() { System.out.println("Try it"); } } class DefaultExample9 extends A { protected void msg() { System.out.println("Try to access the overridden method"); } public static void main(String[] args) { DefaultExample9 p=new DefaultExample9(); p.msg(); } } Output: Try to access the overridden method ### Example 10 ### Let’s see an example to determine whether the default method is overridden to sub-class using public access modifier. class A { void msg() { System.out.println("Try it"); } } class DefaultExample10 extends A { public void msg() { System.out.println("Try to access the overridden method"); } public static void main(String[] args) { DefaultExample10 p=new DefaultExample10(); p.msg(); } } Output: Try to access the overridden method
还没有评论,来说两句吧...