java中super(java的异常处理两种方式, super(msg);什么意思啊)

本文目录
- java的异常处理两种方式, super(msg);什么意思啊
- JAVA中super的作用
- java中super有什么作用呢
- java中Super是什么意思
- super在java中是什么意思
- Java中super是什么意思
- java的super是什么意思
- Java小程序pain为什么好多程序都要用到,super.paint(g);是什么意思,刚学JAVA谢谢麻烦帮我解析下面例子
java的异常处理两种方式, super(msg);什么意思啊
一、第一种定义方式,继承Exception类
public class MyFirstException extends Exception {
public MyFirstException() {
super();
}
public MyFirstException(String msg) {
super(msg);
}
public MyFirstException(String msg, Throwable cause) {
super(msg, cause);
}
public MyFirstException(Throwable cause) {
super(cause);
}
//自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,
//根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。
}
二、 第二种定义方式:继承Throwable 类
public class MySecondException extends Throwable {
public MySecondException() {
super();
}
public MySecondException(String msg) {
super(msg);
}
public MySecondException(String msg, Throwable cause) {
super(msg, cause);
}
public MySecondException(Throwable cause) {
super(cause);
}
}
JAVA中super的作用
super可作用是向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。
super也有三种用法:
1、普通的直接引用
与this类似,super相当于是指向当前对象的父类,这样就可以用super.xxx来引用父类的成员。
2、子类中的成员变量或方法与父类中的成员变量或方法同名。
3、引用构造函数
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。
this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。
扩展资料
super使用
示例:
class Country {
String name;
void value() {
name = "China";
}
}
class City extends Country {
String name;
void value() {
name = "Shanghai";
super.value(); //调用父类的方法
System.out.println(name);
System.out.println(super.name);
}
public static void main(String args) {
City c=new City();
c.value();
}
}
java中super有什么作用呢
关键字super的作用如下:
(1)访问父类的构造函数:可以使用super0函数访问父类的构造函数,从而委托父类完成一些初始化的工作。
(2)访问父类的成员:如果子类重写了父类的某个方法,可以通过使用super关键字来引用父类的方法实现。
(3)this 和super不能同时出现在一个构造函数里面,因为this 必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
总结:super 可用于引用直接父类实例变量。super 可用于调用直接父类方法。super() 可用于调用直接父类构造函数;在Java中代表当前对象的直接父类对象的引用。
在同一个类中用super关键字,调用其它构造函数,他一般也是在构造方法中,为了避免代码重复,直接调用已经写过的代码,你要注意的是他的写法,即super(构造方法名),而且必须是这个构造方法的第一句。
java中Super是什么意思
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
super是引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名。
super在java中是什么意思
super是Java中的关键字,它表示父类或父接口。在一个类中,我们可以使用super关键字来调用父类中的属性或方法。例如,当我们需要调用父类中的构造方法时,我们可以使用super关键字来实现。在这种情况下,我们可以使用子类的构造方法来调用父类的构造方法。
super关键字也可以用来访问父类中被子类覆盖的方法。当子类需要覆盖父类的方法时,如果子类需要在覆盖方法的基础上增加额外的功能,我们可以使用super关键字来调用父类中被覆盖的方法,然后在该方法的基础上增加额外的功能。
在Java中,super同时也指代了一个特殊的对象。当我们使用super关键字来调用父类中的方法时,实际上会使用一个super对象来调用该方法。该对象是一个由编译器生成的对象,它与子类对象相关联,并且包含了父类中所有的属性和方法。这个super对象是一种实现多态性的机制,在Java中使用广泛。
Java中super是什么意思
super在java的子类中指代父类引用
java中,super的几种用法:
1、子类的构造函数如果要引用super的话,必须把super放在函数的首位
class Base {
Base() {
System.out.println("Base");
}
}
public class Checket extends Base {
Checket() {
super();//调用父类的构造方法,一定要放在方法的首个语句
System.out.println("Checket");
}
public static void main(String argv) {
Checket c = new Checket();
}
}
如果想用super继承父类构造的方法,但是没有放在第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法。那么以前所做的修改就都回到以前了,就是说又成了父类的构造方法了。
2、在Java中,有时还会遇到子类中的成员变量或方法与超类(有时也称父类)中的成员变量或方法同名。因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏了超类的成员变量或方法,但是我们如果想要使用超类中的这个成员变量或方法,就需要用到super.
class Country {
String name;
void value() {
name = "China";
}
}
class City extends Country {
String name;
void value() {
name = "Hefei";
super.value();//不调用此方法时,super.name返回的是父类的成员变量的值null
System.out.println(name);
System.out.println(super.name);
}
public static void main(String args) {
City c=new City();
c.value();
}
}
为了在子类中引用父类中的成员变量name和方法value(),在代码中使用了super、super.name和super.value(),若不调用super.value()时,super.name返回父类成员变量默认值null,调用此方法时,super.value()方法把成员变量name赋值为China,再利用super.name调用父类的成员变量的值。
另外,要注意的是super.name调用的是成员变量的
class Country {
String name="xianfan";
String value(String name) {
name = "China";
return name;
}
}
class City extends Country {
String name;
String value(String name) {
name = "Hefei";
super.value("失败");//不调用此方法时,super.name返回的是父类的成员变量的值null
System.out.println(name);
System.out.println(super.name);
return name;
}
public static void main(String args) {
City c=new City();
c.value("成功");
}
}
结果为:Hefei
xianfan
此时,super.name返回的值是父类成员变量的值xianfan,而此时的super.value()方法是不起作用的。
3、用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);
}
}
结果为:A Person.
A chinese.
A person name is:kevin
his name is:kevin
A person name is:kevin
his name is:kevin
his age is:22
在这段程序中,this和super不再是像以前那样用“.”连接一个方法或成员,而是直接在其后跟上适当的参数,因此它的意义也就有了变化。super后加参数的是用来调用父类中具有相同形式的构造函数,如1和2处。this后加参数则调用的是当前具有相同参数的构造函数,如3处。当然,在Chinese的各个重载构造函数中,this和super在一般方法中的各种用法也仍可使用,比如4处,你可以将它替换为“this.prt”(因为它继承了父类中的那个方法)或者是“super.prt”(因为它是父类中的方法且可被子类访问),它照样可以正确运行。
java的super是什么意思
Java中的super是一个关键字,它表示父类或者父类的成员。通过super我们可以访问父类中的方法、变量和构造函数。在子类中调用方法或者变量时,如果与父类中的同名方法或变量发生冲突,我们可以通过super关键字来区分它们。super关键字可以算是Java继承的一个重要标志,它实现了Java中的多层继承机制,使得Java面向对象特性更加完善。
在使用super时,需要注意以下几点。首先,使用super调用构造函数时,必须要放在子类构造函数的第一行,同时,当子类构造函数没有指明调用哪个父类构造函数时,Java默认会调用父类的无参数构造函数。其次,父类私有成员无法通过super关键字访问,因为它们不能被继承。最后,当子类方法中使用super调用父类的方法时,注意不要出现死循环情况。子类的方法中已经重写了父类的方法,如果再通过super调用父类方法,就会出现无限递归的情况。
除了使用super来访问父类的成员外,还可以使用super来调用父类的构造函数,即通过super在子类构造函数中调用父类构造函数,以完成对父类初始化的操作。这种方式非常常用,因为在子类构造函数中需要对父类的成员进行初始化时,我们可以使用super来完成这部分工作,避免了对父类成员使用赋值语句的繁琐操作。此外,如果父类没有提供默认构造函数,那么在子类构造函数中使用super关键字来调用父类相应的构造函数,就可以保证子类正确地完成对父类的初始化操作。
Java小程序pain为什么好多程序都要用到,super.paint(g);是什么意思,刚学JAVA谢谢麻烦帮我解析下面例子
super是代表父类的意思。
super.paint(g)是代表调用父类JApplet的paint方法
在JApplet容器中把g对象画上。
显示出来。

更多文章:
百度站长改版链接多跳一错误(网站更换了https协议,但是站长平台总是审核不过)
2026年10月15日 08:30
天津医科大学2021研究生招生(天津医学院2023录取分数线)
2026年10月15日 05:10
apache服务器的默认端口是(apache服务器提供服务的标准端口是)
2026年10月14日 14:10







