❶ java中Super是什麼意思
馬克-to-win,Super是一個參考(或說指針)指向他緊鄰的父類(見下面的例子)。Super is a reference of its neighbour superclass
So Use super to call superclass』s constructor
用super可以指向被隱藏的父類的同名成員。Use super to call superclass』s members that has been hidden by a member of a subclass.
3.1 super指向父類的成員
注
意: 下例中:子類和父類都有i,我們一共有兩個i,用super可以指向前一個父類的i。 note that: in the following
case, subclass and super class both have a i, so altogether they have
two i.
例1.3.1
class AMark_to_win {
int i;
}
class B extends AMark_to_win {
int i;
public B(int x, int y) {
super.i = x;//AMark_to_win 的 i被賦值
i = y;//B的i被賦值
}
public void show() {
System.out.println("i in superclass: " + super.i);
System.out.println("i in subclass: " + i);
}
}
public class Test {
public static void main(String[] args) {
B b = new B(2, 3);。。。。。。。。。。。詳情網上找「馬克-to-win」,參考他的網站或他的網路空間:java第三章的內容,如果實在找不到,按我下面說的地址找:
網站名是:mark-to-win.com
再附加上下邊的路徑地址: /JavaBeginner/JavaBeginner3_web.html#Super
❷ super怎麼使用啊
Super 超類 (Java編程語言)
超類 :用java術語來講,被繼承的類稱為超類,繼承的類稱為子類。 面向對象編程的最重要的特色之一就是能夠使用以前創建的類的方法和域。通過簡單的類來創建功能強大的類,可以大幅地節省編程時間,更重要的是,這樣做可以減少代碼出錯的機會。要在以前的類上構造新類,就必須在類聲明中擴展這個類。 通過擴展一個超類,可以得到這個類的一個新副本,並且可以在其上添加其他功能。如果對這個新類並不做任何添加工作,那麼,它的工作情況與超類完全相同,新類中會含有超類所聲明和繼承的、具有訪問許可權的所有方法和域。 對於超類,應該確切地理解this和super關鍵字的使用,下圖演示了這兩個關鍵字的使用。 import java.awt.*; public class TestThisSuper extends Frame { int b; public TestThisSuper(String a) { this (a,0); } public TestThisSuper(String a, int b) { super(a); this.b= b; }
❸ java編程中 8. Java中的 「super」 什麼時候用, 怎麼用
一個類繼續另一個類時,如果父類的構造方法已包含了子類所有初始化信息,那麼子類就可以直接用super關鍵字調用父類的構造方法。
❹ 編程器中的superpro是什麼意思
樓主這個是在什麼地方看到的?
業內的人應該知道這是某個編程器廠家的產品系列。後面的PRO是Programmer(編程器)的意思。
業內有很多這種字母的意思,比如蘇州卓訊電子:Zenith...
❺ java編程題
第一題:(寬度我沒有按照你的要求編寫,因為10確實太小了,你自己把寬度改過來就可以了)
import java.awt.*;
import javax.swing.*;
public class MyText extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JTextField jTextField = null;
private JLabel jLabel1 = null;
private JTextArea jTextArea = null;
public MyText() {
super();
initialize();
}
private void initialize() {
this.setSize(294, 264);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
this.setVisible(true);
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(30, 86, 65, 18));
jLabel1.setText("內容記錄:");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(31, 18, 238, 18));
jLabel.setText("請輸入內容:(提示-換行使用轉義序列\n)");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel, null);
jContentPane.add(getJTextField(), null);
jContentPane.add(jLabel1, null);
jContentPane.add(getJTextArea(), null);
}
return jContentPane;
}
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(29, 41, 192, 20));
jTextField.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent e) {
if(e.getKeyChar() == e.VK_ENTER){
if(jTextArea.getText().equals("")){
jTextArea.setText(jTextField.getText());
jTextField.setText("");
}
else{
jTextArea.setText(jTextArea.getText()+"\r\n"+jTextField.getText());
jTextField.setText("");
}
}
}
});
}
return jTextField;
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(29, 117, 195, 99));
jTextArea.setEditable(false);
}
return jTextArea;
}
public static void main(String args[]){
new MyText();
}
}
其他兩題呢~~你要的話找我吧!呵呵……
❻ 請各位用java語言編程,題目如下(用java,涉及super的用法,並解釋一下程序時怎麼運行的)
publicclassX_3_5{
publicstaticvoidmain(String[]args){
Students1=newStudent("aaa","男",20,"0001");
Students2=newStudent("bbb","女",21,"0002");
System.out.println("學號 姓名 性別 年齡");
s1.display();
s2.display();
}
}
abstractclassPerson{
privateStringname;
privateStringsex;
privateintage;
publicPerson(){
}
publicPerson(Stringname,Stringsex,intage){
this.name=name;
this.sex=sex;
this.age=age;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicabstractvoiddisplay();
}
classStudentextendsPerson{
privateStringstuNo;
publicStudent(Stringname,Stringsex,intage,StringstuNo){
//super的用法
super(name,sex,age);
this.stuNo=stuNo;
}
publicStringgetStuNo(){
returnstuNo;
}
publicvoidsetStuNo(StringstuNo){
this.stuNo=stuNo;
}
@Override
publicvoiddisplay(){
System.out.println(String.format("%s %s %s %d",stuNo,getName(),getSex(),getAge()));
}
}
運行方法:
javacX_3_5 .java
javaX_3_5
❼ java中super 的兩種用法
Java中this、super用法簡談
廣告 插畫 創意 動漫 Logo 包裝 繪畫 鼠繪 3D 時尚 卡通 網站 CG 藝術 攝影
--------------------------------------------------------------------------------
來源: 作者: 2006-07-28 出處:巧巧讀書
效果 os java c語言
通過用static來定義方法或成員,為我們編程提供了某種便利,從某種程度上可以說它類似於C語言中的全局函數和全局變數。但是,並不是說有了這種便利,你便可以隨處使用,如果那樣的話,你便需要認真考慮一下自己是否在用面向對象的思想編程,自己的程序是否是面向對象的。
好了,現在開始討論this&super這兩個關鍵字的意義和用法。
在Java中,this通常指當前對象,super則指父類的。當你想要引用當前對象的某種東西,比如當前對象的某個方法,或當前對象的某個成員,你便可以利用this來實現這個目的,當然,this的另一個用途是調用當前對象的另一個構造函數,這些馬上就要討論。如果你想引用父類的某種東西,則非super莫屬。由於this與super有如此相似的一些特性和與生俱來的某種關系,所以我們在這一塊兒來討論,希望能幫助你區分和掌握它們兩個。
在一般方法中
最普遍的情況就是,在你的方法中的某個形參名與當前對象的某個成員有相同的名字,這時為了不至於混淆,你便需要明確使用this關鍵字來指明你要使用某個成員,使用方法是「this.成員名」,而不帶this的那個便是形參。另外,還可以用「this.方法名」來引用當前對象的某個方法,但這時this就不是必須的了,你可以直接用方法名來訪問那個方法,編譯器會知道你要調用的是那一個。下面的代碼演示了上面的用法:
public class DemoThis{
private String name;
private int age;
DemoThis(String name,int age){
setName(name);
//你可以加上this來調用方法,像這樣:this.setName(name);但這並不是必須的
setAge(age);
this.print(); br> }
public void setName(String name){
this.name=name;//此處必須指明你要引用成員變數
}
public void etAge(int age){
this.age=age;
}
public void print(){
System.out.println("Name="+name+" ge="+age);
//在此行中並不需要用this,因為沒有會導致混淆的東西
}
public static void main(String[] args){
DemoThis dt=new DemoThis("Kevin","22");
這段代碼很簡單,不用解釋你也應該能看明白。在構造函數中你看到用this.print(),你完全可以用print()來代替它,兩者效果一樣。下面我們修改這個程序,來演示super的用法。
class Person{
public int c;
private String name;
private int age;
protected void setName(String name){
this.name=name;
}
protected void setAge(int age){
this.age=age;
}
protected void print(){
System.out.println("Name="+name+" Age="+age);
}
}
public class DemoSuper extends Person{
public void print(){
System.out.println("DemoSuper:");
super.print();
}
public static void main(String[] args){
DemoSuper ds=new DemoSuper();
ds.setName("kevin");
ds.setAge(22);
ds.print();
}
}
在DemoSuper中,重新定義的print方法覆寫了父類的print方法,它首先做一些自己的事情,然後調用父類的那個被覆寫了的方法。輸出結果說明了這一點:
DemoSuper:
Name=kevin Age=22
這樣的使用方法是比較常用的。另外如果父類的成員可以被子類訪問,那你可以像使用this一樣使用它,用「super.父類中的成員名」的方式,但常常你並不是這樣來訪問父類中的成員名的。
在構造函數中構造函數是一種特殊的方法,在對象初始化的時候自動調用。在構造函數中,this和super也有上面說的種種使用方式,並且它還有特殊的地方,請看下面的例子:
class Person{
public static void prt(String s){
System.out.println(s);
}
Person(){
prt("A Person.");
}
Person(String name){
prt("A person name is:"+name);
}
}
public class Chinese extends Person{
Chinese(){
super(); //調用父類構造函數(1)
prt("A chinese.");//(4)
}
Chinese(String name){
super(name);//調用父類具有相同形參的構造函數(2)
prt("his name is:"+name);
}
Chinese(String name,int age){
this(name);//調用當前具有相同形參的構造函數(3)
prt("his age is:"+age);
}
public static void main(String[] args){
Chinese cn=new Chinese();
cn=new Chinese("kevin");
cn=new Chinese("kevin",22);
}
}
在這段程序中,this和super不再是像以前那樣用「.」連接一個方法或成員,而是直接在其後跟
上適當的參數,因此它的意義也就有了變化。super後加參數的是用來調用父類中具有相同形式的
構造函數,如1和2處。this後加參數則調用的是當前具有相同參數的構造函數,如3處。當然,在
Chinese的各個重載構造函數中,this和super在一般方法中的各種用法也仍可使用,比如4處,你
可以將它替換為「this.prt」(因為它繼承了父類中的那個方法)或者是「super.prt」(因為它
是父類中的方法且可被子類訪問),它照樣可以正確運行。但這樣似乎就有點畫蛇添足的味道
了。
最後,寫了這么多,如果你能對「this通常指代當前對象,super通常指代父類」這句話牢記在
心,那麼本篇便達到了目的,其它的你自會在以後的編程實踐當中慢慢體會、掌握。另外關於本
篇中提到的繼承,請參閱相關Java教程。
❽ 霍尼韋爾238報警主機怎麼編程
霍尼韋爾報警主機分為好多型號:236、238、2316這些小型分線制報警主機跟vista
12o、250這些匯流排制主機,最簡單的方法加個撥號器,從報警輸出口接出個信號給
❾ 編程急求
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
class FrameText extends JFrame{
public FrameText(){
super.setTitle("myframe");
super.setLayout(new FlowLayout());
super.setLocation(50, 50);
super.setSize(500,500);}
public static void main(String[] args) {
// TODO Auto-generated method stub
FrameText ft=new FrameText();
JButton button1=new JButton("打開");
JButton button2=new JButton("關閉");
ft.add(button1);
ft.add(button2);
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
OpenDialog.getInstance().setVisible(true);
}
});
//下面方法用了內部類
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
ft.setVisible(true);
}
}
class OpenDialog extends JFrame{
//這個是單例模式
private OpenDialog(){
this.setSize(200,200);
}
private static OpenDialog st;
public static OpenDialog getInstance(){
if(st == null)
st=new OpenDialog();
return st;
}
}
❿ java編程,這個super(s)是調用什麼
調用父類的構造。super(s),FirstWindow的父類 Frame的一個 帶參構造方法。這個構造器帶有一個參數。閱讀其代碼你會發現這個參數傳遞給了父類的title屬性,因為你的FirstWindow繼承了Frame的遺產,所以實際上這個 super(s)是調用父類的構造給自己的一個屬性賦值