Java does not support multiple inheritance of classes, but you can use an inner class to inherit the implementation of more classes.
In the following example, the target class needs to inherit two abstract classes (A and B). The target class C itself inherits Class A and inherits another class B using an anonymous inn
inheritance is from top to bottom, Grandpa 1, Dad 1, Son 1, Grandpa 2, dad 2, son 2, not: grandpa 2, Son 1, is a mess like this. No, it's a joke. Therefore, class rules do not inherit the relationship, prevent chaos, and make the structure clear.Therefore, when we use a tree structure, we use classes.
There are still many such situations in our lives. For example, if Michael is a Chinese, Michael is also an American dual identity.Another example is
We know that when writing each class, we need to test whether the class has errors. by writing a main () method in each class, we have a disadvantage, that is, the additional code that has been compiled must be carried with it. If this is troublesome for you, you can use Nested classes to place the test code.
/***** @ Author xiaanming **/public class innerclass {public void print (Object O) {system. out. println (O. tostring ();} public static class
(1) Introduction:
An inner class is actually a type of local data that is defined within a class declaration. (very similar to the struct node declaration), which differs from Java.
----internal class declarations have public and private points
If declared as public, it can also be used to define variables, such as Outer::inner var
If the declaration is private, then the outside can not be used to define variables, then Outer::inner var will cause co
obj.test (); at } - } - /* - F:\java_example>java Testouter - The out_i is*/View CodeFirst call this display () function to print out the out_i, it first in the display () function to find whether the variable, not to the inner class to find, and finally to outer class to find the variable2, the use of internal classesInternal classes make program code more compact and modular.When the program code in
Interfaces can inherit Interfaces. Abstract classes can implement (implements) interfaces, and abstract classes can inherit concrete Classes. There can be static main methods in an abstract class.Q: Does an abstract class inherit entity classes (concrete Class)A: An abstract class can inherit an entity class, but only
The Java static internal class defines an inner class as a static class, which is essentially the same as the method of defining other classes as static classes. However, the details are still very different. Specifically, there are several places to draw attention to the program developers. (a) in general, if an inner class is not defined as a static inner
classes } }; Public voidFun () {//methods for defining external classes NewInner (). print ();//invoking a method by instantiating an object from an inner class }}; Public classinnerclassdemo04{ Public Static voidMain (String args[]) {Outer out=NewOuter ();//External Class Instantiation ObjectOuter.Inner in = out.NewInner ();//instantiating an inner class objectIn.print ();//methods fo
do not necessarily contain abstract methods, but classes that contain abstract methods must be declared as abstract classes. The abstract class itself does not have the actual functionality and can only be used to derive its subclasses. an abstract class can contain a constructor method, but a construction method cannot be declared abstract.Call the methods in the abstract class (abstract and non-abstract
: int n = 10; Integer a = new integer (n); int to Integer (boxing)Integer B = integer.valueof (n); int to Integer (boxing)int k = A.intvalue (); Integer to int (unboxing)2, integer internal common methodsint n = integer.parseint ("123"); The string is converted to int, and if the argument is not a numeric string, an exception numberformatexception occurs.int k = Integer.parseint ("123", 16); The parameter can be two, and the following represents the binary you want to convert to.
dependency is that a method in a class can manipulate an instance of another class. In practical programming, it is recommended to minimize the number of interdependent classes. As shown in the following:Aggregation (HAS-A)Because the order needs to indicate what book to order, this involves the book class, that is, contains the book class. The difference between aggregation and dependency is that the order class can not have all the account class ob
Basic Theory:
-----------------------------------------------------
Java internal class: the definition of an internal class is defined within another class.
The reason is:
1. An internal class object can access the implementation of the object created for it, including private data. That is, an internal class instance is privileged to the instance of the class that contains it.
2. for other classes
class, Java provides special syntax, and typically is initialized with a constructor method.For example:StringBuffer s = new StringBuffer ();This initializes the StringBuffer object as an empty object.If you need to create a StringBuffer object with content, you can use:StringBuffer s = new StringBuffer ("abc");The content of this initialized StringBuffer object is the string "abc".It is important to note that StringBuffer and string are of different
=NewExternalclass (); Externalclass.innerclass Inner= extern.NewInnerclass (); Inner.output (The field of the method); }}classexternalclass{PrivateString s = "outer class field"; classinnerclass{PrivateString s = "Inner class field"; Public voidOutPut (String s) {System.out.println (The value of "s" is "+s); System.out.println (The value of "THIS.S" + This. s); System.out.println (The value of "EXTERNALCLASS.S" is "+ Externalclass". This. s); } } }View CodeOutput Result:The value of S is
public class Basetypeclasstest {/** Common class* 1, the basic type of encapsulation class: In the Java language, eight basic types correspond to a wrapper class.** Byte ====>>> byte* Short ===>>> Short* int =====>>> Integer* Long ====>>> Long** Float ===>>> Float* Double ===>> Double** Char ====>>> Character* Boolean ==>> Boolean** 2, in the Java language, for the basic type of data to provide the appropri
class to execute the extension function and the original class method.Compare the classes that are generated after the original class and the dynamic proxy:1, $Proxy 0 accesses the real class object through the Invocationhandler implementation class call.2, dynamic Proxy extension is not included in $proxy0, but rather callback Invocationhandler interface, implement invoke method extension through subclass.Before and after using dynamic proxies from
1. generalization (generalization) As I understand, generalization is the way that subclasses inherit the parent class, and they can extend their capabilitiesEg:extend Implements2. dependence (Dependency) For two relatively independent objects, when one object is responsible for constructing an instance of another object, or a service that relies on another object, the two objects are primarily dependent.As: local variables, parameters of methods, or calls to static methodsEg: you need a boat t
In the previous article, we introduced how to manipulate the java byte code, and mentioned how to use the Java class loader to load the modified byte code and execute it on the JVM. Next, I will discuss the loading, linking, and initialization of Java classes. Java byte code
In the absence of a good study of object-oriented
Design
Before the design pattern, I had a vague understanding of Java interfaces and Java Abstract classes.
When I first learned the Java language, it was hard to understand why the concept of interfaces was required. Although multi-inheritance can be imple
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.