⑴ 在java中,子类继续父类 那个super 怎么用呀,最好能举个例子.
super,超类,即父类。当你实例化一个子类的时候,编译器会自动查找子类的父类,并先将父类初始化。
当你的子类使用带参数的构造函数时,你必须保证该子类的父类也有相同的带参数的构造器。
1.super(),它用来告诉编译器,爷我用的是哪个型号的构造器,方便你找俺老子。
2.super.属性,用于访问父类属性或方法。
比如,
public class Father(){
public Father(){}
public Father(String name,String sex){
this.name=name;
this.sex=sex;
}
public String name="免贵姓唐";
public String sex;
}
public class Son_1(){
public Son_1(){super();//此处表示为无参构造函数,一般可省略}
public Son_1(String name,String sex){
super(name,sex);
}
public String name="真的免贵";
public static void main(String[] arg){
print(super.name+" "+name);
}
}
快睡了,思维有点混。不懂hi我好了。568418555,Q我也成。
⑵ Java中的一个类怎么调用另一个类中的方法
方法1. 新建一个类。然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。例如:
//先定义一个类
(2)java如何调用超类方法扩展阅读:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
⑶ java中,实例方法可直接调用超类的实例方法,这句话哪错了在线
如果超类的实例方法没有在子类中被重写的就可以直接调用,但如果经过子类重写了的话就被覆盖了,这时需要通过super关键字来调用了。
下句,父类和超类是一个意思,只是不同的叫法而已。又可分为直接父类和间接父类,不同的书籍中不同的叫法而已。
⑷ 关于java super()方法调用问题
要说super就先要说this。
"this",作为一个特殊的关键字,它的规则如下:
1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。
2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别的函数,等等等等。只要一个C类型的final变量可以出现的地方,它就可以出现。
"super"。它和"this"类似,但是也有不同的地方。
1。表示调用父类的构造函数。也是一个特殊语法,不是变量,没有什么类型。
2。可以在一个类的非static成员内部使用。比如super.method()。
但是,注意,这个super.method()只是长得跟some_var.method()一样,一个语法糖而已。实质上,"super"根本不是一个变量。
为什么不是?因为如果是就坏了。java里面有一个金科玉律:任何public非static函数的调用都是多态的。
所以,如果super是个变量,也指向当前对象,那么,不管super的静态类型是什么super.method()必然调用的是子类的那个版本,而不会是我们期望的,静态地选择父类的那个版本。
所以,你只要把super.xxx看成一个特殊的语法,比如理解为“super::xxx”就好了。
既然super不是一个变量,那么不能把它象一个普通变量那样"==",或者传递给某个函数就看起来很正常了,是么?何况,你其实也用不着它,有this你这些要求就都可以办到了。
3。super的另外一个作用是调用父类的protected函数。只有通过"super"这个魔咒,我们才能操作父类的protected成员,别无它法。
⑸ Java中的一个类怎么调用另一个类中的方法
publicclass调用
{
publicstaticvoidmain(String[]args)
{
System.out.println("
==========Java中的一个类怎么调用另一个类中的方法!==========
");
init();
}//初始化!
privatestaticvoidinit()
{
//创建A类对象
Aa=newA();
a.show2();
a.show1();
System.out.println("
------------------------------分割线--------------------------
");
//创建B类对象
Bb=newB();
b.method1();
b.method2();
}
}
//A类!
classA
{
voidshow1()
{
System.out.println("这个是A类中的show1方法,调用B类的method1方法");
newB().method1();
}
voidshow2()
{
System.out.println("这个是A类中的show2方法!");
}
}
//B类!
classB
{
voidmethod1()
{
System.out.println("这个是B类中的method1方法!");
}
voidmethod2()
{
System.out.println("这个是B类中的method2方法!调用A类的show2方法");
newA().show2();
}
}
⑹ java 子类重写了一个方法,如何在父类中调用
java子类继承父类、方法的重写(覆盖)在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。格式:class子类 extends父类
⑺ Java中的一个类怎么调用另一个类中的方法
java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。例如:
public class MethodCall
{
public static void main(String[] args)
{
Test.sayStatic();
Test test = new Test();
test.sayInstance();
}
}
class Test
{
public static void sayStatic()
{
System.out.println("这是一个静态方法。");
}
public void sayInstance()
{
System.out.println("这是一个实例方法。");
}
}
⑻ java怎么调用类以外的方法
一个类文件内可以有多个类,但是java规定公共类型的类(加了public)必须只有一个,并且类文件必须和公共类型的类名相同,就是你的文件名要和带public 的类名相同.这是规定.
这就是为什么一个类文件里面不能包含两个public类型的类。
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Test123a=newTest123();
a.de1();
}
}
classTest123{
publicvoidde1(){
System.out.println("hello");
}
}
这样就对了
⑼ Java继承,我是菜鸟,定义了一个超类,一个子类调用超类的方法,计算机达人帮帮忙!改怎么完善代码,我现
class Class2 {
// 定义水果的三个变量
//你定义的方法是传递参数,传递的参数就是你要取的值,不用再类里面继续赋值。(下同)
void shuiguo(double a, double b, double m) {
// 分别赋予水果价格
double apple = a;
double banana = b;
double melon = m;
double show1 = apple * 3 + banana * 4 + melon * 5;
System.out.println("水果:" + show1);
}
// 定义蔬菜的三个变量
void shucai(double b, double l, double h) {
// 分别赋予蔬菜价格
double cai = b;
double luobo = l;
double huanggua = h;
double show2 = cai * 3 + luobo * 4 + huanggua * 5;
System.out.println("蔬菜:" + show2);
}
// 定义肉类的三个变量
static void rou(double z, double y, double n) {
// 分别赋予肉价格
double zhurou = z;
double yangrou = y;
double niurou = n;
double show3 = zhurou * 3 + yangrou * 4 + niurou * 5;
System.out.println("肉类:" + show3);
}
}
// 子类
public class Class1 extends Class2 {
public static void main(String[] args) {
Class1 c1 = new Class1();
//这里不能用System.out.println();,因为你的方法都没有返回值啊。都是void修饰的。
c1.shuiguo(1.0,2.0,3.0);
c1.shucai(1.0, 2.0, 3.0);
//这里你定义成了static静态,就可以直接调用了。
rou(1.0, 2.0, 3.0);
}
}
//这是我修改你的原来的程序,变量的定义别用你自己的那种,没有人会想你这么定义,别怕打击。
//你没有明白继承的含义。(子类继承父类。所以就可以调用父类的方法了,这就是继承。)
//多看看书吧。