㈠ java的子類繼承父類過程是怎樣的解釋一下這個程序運行的結果。
其實就是你對this 和super的理解不好,好好琢磨下。實在不行就硬記下來,等以後學得多了,自然而然就理解了。
給你個注釋,有編號,你沿著編號好好看看。
publicclassFatherChild{
publicstaticvoidmain(String[]args){
Childc=newChild();//1.創建Child對象,調用默認構造器
}
}
classFather{
publicFather(){
System.out.println("父類無參構造函數");
}
publicFather(Stringname){//6.父類有參構造器
System.out.println("父類有參構造函數");
}
}
classChildextendsFather{
publicChild(){//2.默認構造器.創建Child對象
this("dd");//3.調用本類的有參構造器
System.out.println("子類無參構造函數");
}
publicChild(Stringname){//4.有參構造器
super("dd");//5.調用父類有參構造器
System.out.println("子類有參構造函數");
}
}
㈡ java中子類繼承父類,子類聲明並實例化對象,這個對象怎麼調用父類方法的 如圖 詳細一點謝謝
//子類 沒有定義 構造 函數時,默認繼承父類的構造方法:輸出結果為 Class A...
// 子類 定義了 構造 函數時,就不會繼承父類的構造方法:輸出結果是 Class B...
<?php
class A{
public function __construct(){
echo "Class A...<br/>";
}
}
class B extends A{
}
new B();
?>
/*輸出結果是:Class A...*/
㈢ 用java程序編寫一個子類繼承父類
知道類、繼承,寫屬性,很容易的事情了。
class Father{
//自有屬性
}
class Son extends Father{
///擴展屬性
}
㈣ Java里子類調用父類構造方法把父類的內容繼承怎麼做
只能在子類的構造函數中的第一行調用父類的構造函數,用super(參數). class A{ private int a; public A(int a){ this.a=a; }}class B extends A{ private int b; public B(int a, int b){ super(a); this.b=b; }}
㈤ Java子類繼承父類
import java.awt.*;
import javax.swing.*;
public class aaa extends JFrame
{
public aaa()
{
super("title");
this.setBounds(100,150,300,100);
this.setVisible(true);
public static void main(String args[])
{
new aaa();
}
}
㈥ 第一次來,問下 java中子類可以繼承父類的構造方法么 可以的話是怎麼樣繼承
這個構造方法不叫繼承哈 子類的構造方法是必須要調用父類的構造方法的 當然有時候可以不寫出來而已 什麼時候可以不寫呢? 就是父類有無參數的構造方法 子類就可以不用寫出來
至於怎樣繼承: 假如有個A類 另一個B類繼承A類
那麼B類的構造方法里就要寫
public B(){
super(); //如果A類的構造方法沒有參數 這句就可以省略 如果A類沒有無參數的構造方法,你還必須寫出來,並且把要傳遞的參數也寫到super(參數);
......
}
㈦ 關於java中子類繼承父類的構造方法
java繼承中對構造函數是不繼承的,只是調用(隱式或顯式)。
舉例說明:
public class FatherClass {
public FatherClass() {
System.out.println(100);
}
public FatherClass(int age) {
System.out.println(age);
}
}
public class SonClass extends FatherClass{
public SonClass() {
}
public SonClass(int c) {
System.out.println(1234);
}
public static void main(String[] args) {
SonClass s = new SonClass(66);
}
}
編譯後執行結果如下:
分析:SonClass s = new SonClass(66);執行這句時,調用
public SonClass(int c) {
System.out.println(1234);//系統會自動先調用父類的無參構造函數(super())
}
在這個構造函數中,等價於
public SonClass(int c) {
super();//必須是第1行,否則不能編譯
System.out.println(1234);
}
所以結果是 100 1234
3.如果子類構造函數是這樣寫的
public SonClass(int c) {
super(22);//必須是第1行,否則不能編譯
//顯式調用了super後,系統就不再調用無參的super()了;
System.out.println(1234);
}
執行結果是 22
1234
總結1:構造函數不能繼承,只是調用而已。
如果父類沒有無參構造函數
創建子類時,不能編譯,除非在構造函數代碼體中第一行,必須是第一行顯式調用父類有參構造函數
如下:
SonClass (){
super(777);//顯示調用父類有參構造函數
System.out.println(66);
}
如果不顯示調用父類有參構造函數,系統會默認調用父類無參構造函數super();
但是父類中沒有無參構造函數,那它不是不能調用了。所以編譯就無法通過了。
總結2:創建有參構造函數後,系統就不再有默認無參構造函數。
如果沒有任何構造函數,系統會默認有一個無參構造函數。
㈧ java中子類如何繼承父類的含參數的構造方法
子類的構造函數中 用super(參數類型 參數);
同時子類的構造函數本身的參數列表要和父類的匹配
㈨ 關於java子類繼承父類的問題,急求答案
父類和子類的問題:
確認父類的方法是否使用了private修飾
並非所有的父類方法都可以被子類繼承的。
其次確認子類繼承父類時,是否有import 父類
【無法找到繼承的對象】感覺像是沒有import
編譯的時候,查找的是class文件。所以父類只有class是可以的。但是需要放在同一個工程中
你說的第二個問題?好像是實現不了。父類調用子類的方法是掉不到的
想實現這個就得依靠介面了
㈩ 如何在Java中使用子類繼承父類的父類,舉個例子看看,謝謝
class Animal{//動物類
public String name="haha";//名字
public void say() {//說話方法
System.out.println(name+" say hi");
}
}
class Cat extends Animal{//貓類繼承了動物類
}
public class Test {
public static void main(String[] args) {
Cat cat=new Cat();//實例化一個貓
cat.say();//由於貓繼承了動物,所以繼承了他所有非private的屬性和方法
}
}