Influencia de Java detalla método constructor subclase constructor de la clase padre

se detalla

1, si no se define un constructor de la clase, hay un constructor por defecto ninguna referencia, la estructura de la siguiente forma:

	public 类名(){
       super();
    }

2, este ([lista de parámetros]) llama a esta clase de constructor , pero deben ser válidos en la primera línea de código línea; y Super ([lista de parámetros]) para llamar al constructor de la clase padre , y también debe ser colocado en el primer código válido la línea, y si tiene un constructor llama a este método constructor, el constructor no llamar directamente al constructor de la clase padre. Es decir, en un segmento de código, este ([lista de parámetros]) y Super ([lista de parámetros]) sólo puede tener uno aparece.

public class Father {//父类
	
	public Father() {
		super();
		System.out.println("父类构造方法");

	}
}
public class Son extends Father{//子类

	public Son(){
		this("Jim");
		System.out.println("子类构造方法");
	}
	public Son(String name) {
		super();
		System.out.println(name);
	}
}
public class Text {
	
	public static void main(String[] args) {
	
		   Son son = new Son();
	    
	}
}

3, si el método no es una subclase de este constructor de la clase llama al constructor, no el padre llamado constructor de la clase especificada, el valor por defecto llama al constructor de la clase padre sin argumentos.
Nota: La
clase padre no puede tener dos constructor sin argumentos, se entiende, si no hay nada que el sistema se pondrá por defecto parámetros del constructor presentó un no, pero si en la clase para escribir un parámetro del método, ya no es Obtener un constructor sin argumentos.

resumen

una, si el padre tiene un constructor (ya sea implícita o explícita), y el constructor de la subclase sin argumentos en no especificar claramente qué constructor llama a la clase padre, subclase no llamar a la subclase otra método constructor usando constructor super () sin argumentos para llamar al método implícito clase padre

public class Father {//父类
	
	public Father() {
		super();
		System.out.println("父类构造方法");

	}
}
public class Son extends Father{//子类

	public Son(){
		System.out.println("子类构造方法");
	}
	public Son(String name) {
		this();
		System.out.println(name);
	}
}
public class Text {
	
	public static void main(String[] args) {
	    Son son = new Son("Jim");	    
	}
}

La salida es:
clase padre constructor
constructor de la subclase
de Jim
en el método de la clase principal del texto, llamada cuando Hijo (String name), esto se llama la función Hijo (), y el constructor sin argumentos de las subclases de la clase llamada matriz por defecto el constructor sin argumentos, por lo que la salida de los resultados anteriores.

B, si no se requiere ninguna clase padre * * constructor sin argumentos (ya sea implícita o explícita) para especificar el constructor de la subclase debe ser invocada directamente o indirectamente constructor de la clase padre el que un código válido en la primera línea y

public class Father {//父类
	String height;
	String name;
	public Father(String height,String name){
		this.name = "wjq";
		this.height = 165;
	}
	public Father(String name) {
		this.name = "wjq";
	}
}
public class Son extends Father{//子类
	String height = "165";
	String name = "wjq";
	public Son(String height,String name){
		super(name);
		System.out.println(name);
	}
	public Son(String name) {
		this(height,name)
		System.out.println(name);
	}
}
public class Text {
	
	public static void main(String[] args) {
	    Son son = new Son("Jim");	    
	}
}
Se han publicado 19 artículos originales · ganado elogios 0 · Vistas 464

Supongo que te gusta

Origin blog.csdn.net/zzu957/article/details/104719444
Recomendado
Clasificación