Chapter 7、面向对象(三)--- 静态、方法重载、继承

重载:

 1 package org.hanqi.pn0120;
 2
 3 public class Jisuanqi {
 4
 5     //整型加法
 6     public int add(int a,int b)
 7     {
 8         return a+b;
 9     }
10     //重载      参数个数不同
11     public double add(int c, int d,int e)
12     {
13         return c+d+e;
14     }
15
16
17     //浮点型加法      方法的重载(多态的一种体现)
18     //参数类型不同
19     public double add(double a,double b)
20     {
21         return a+b;
22     }
23
24     public static void main(String[] args) {
25         // TODO Auto-generated method stub
26         Jisuanqi j=new Jisuanqi();
27         System.out.println("20+50="+j.add(20, 50));
28         System.out.println("20.12+50.45="+j.add(20.12, 50.45));
29     }
30
31 }

继承:

Father类:

 1 package org.hanqi.pn0120;
 2
 3 public class Father {
 4
 5     private String name;
 6     private int age;
 7     public String getName() {
 8         return name;
 9     }
10     public void setName(String name) {
11         this.name = name;
12     }
13     public int getAge() {
14         return age;
15     }
16     public void setAge(int age) {
17         this.age = age;
18     }
19
20     public Father()
21     {
22         System.out.println("父类的构造方法");
23     }
24
25     //工作
26     public void work()
27     {
28         System.out.println("我劳动我光荣");
29     }
30 }

Son类:

 1 package org.hanqi.pn0120;
 2
 3 public class Son extends Father {
 4     //Object a;  所有类的父类
 5     public Son()
 6     {
 7         System.out.println("子类的构造方法");
 8     }
 9     public void sing()
10     {
11         System.out.println("我喜欢唱歌");
12     }
13     //覆盖(重写)
14     public void work()
15     {
16         System.out.println("我不喜欢上班,我要去参加海选");
17     }
18 }

Test类:

 1 package org.hanqi.pn0120;
 2
 3 public class Testjicheng {
 4
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7
 8         Father f=new Father();
 9         f.setName("父亲");
10         f.setAge(50);
11         System.out.println("名字是:"+f.getName()+" 年龄是:"+f.getAge());
12         f.work();
13         System.out.println();
14         Son s=new Son();
15         s.setName("儿子");
16         s.setAge(20);
17         System.out.println("名字是:"+s.getName()+" 年龄是:"+s.getAge());
18         s.work();
19         s.sing();
20     }
21
22 }

时间: 2024-10-10 07:08:30

Chapter 7、面向对象(三)--- 静态、方法重载、继承的相关文章

附录A培训实习生-面向对象基础(3):方法重载

就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 : 1       “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPatterns\附录A培训实习生之面向对象基础\动物运动会\AnimalGames\Form1.cs       20     23     AnimalGames 原因就是必要给小猫起名字.如果当真需要不起名字也要生出小猫来,可以采用方法重载. 方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参

java面向对象中的方法重载与方法重写的区别

一.方法重载(overload) a:一个类中允许声明多个方法 b:一个类中允许有多个方法名称一样,但是参数不同的多个方法.通过参数不同来区别不同的方法. 参数不同表现为: 1:参数个数不同 2:参数类型不同 3:参数类型的顺序不同也是参数类型不同 4:在参数类型一样的情况下,名称不一样不代表参数不一样 重载方法的调用: 1:根据调用的时候实际参数来判断到底调用的是哪一方法 2:根据参数的要求,严格匹配传入的对应类型 3:如果严格匹配不到的话,默认遵循就近匹配 4:根据数据默认转换的顺序就近匹配

Objective-c 类的继承 方法重写 方法重载

一.类的继承 Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序. Objective-c中所有类的父类是NSObject. Objective-c中类的继承例子: [cpp] view plaincopy @interface Person: NSObject { NSString* name; int age; } - (NSString*) name; - (int)

OC 类的继承 方法重载重写

一.类的继承 Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序.Objective-c中所有类的父类是NSObject. Objective-c中类的继承例子: @interface Person: NSObject { NSString* name; int age; } - (NSString*) name; - (int) age; - (void) setName

方法重写与方法重载

继承和多态都是面向对象程序设计的特点.使用继承可以在一个父类的基础上再创建一个子类,这个子类不但拥有父类已有的属性和方法,还可以创建属于自己的属性和方法.由于子类和父类之间的关系,从而引出了方法重写和方法重载的问题.方法重写及方法重载在继承和多态性方面的应用中会存在很多问题,这些概念很容易混淆,掌握重写和重载的区别对学会使用多态的方式编写程序.提高程序的可维护性奠定了基础. 一.方法重写(0veriding)如何定义重写:在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类

java面向对象的基本形式,封装、继承、多态

总结:1.面向对象三个特征:封装;继承;多态; 方法也是一个最基本的封装体,类也是封装体 2.封装:隐藏了实现的细节,还要对外提供可以访问的方式,便于调用者使用; 优点:1.提高代码的复用性;2.提高了安全;3.隐藏了实现的细节,还要对外提供可以访问的方式,便于调 用者使用 3.可以在成员变量名前面加上this.来区别成员变量和局部变量 4.继承:在一个现有的类的基础上去构建一个新的类,构建出的新的类被称作子类,现有的类被称为父类,子类会自动拥有父类的属性和方法; 5.private修饰的方法和

Java方法重写与方法重载

继承和多态都是面向对象程序设计的特点.使用继承可以在一个父类的基础上再创建一个子类,这个子类不但拥有父类已有的属性和方法,还可以创建属于自己的属性和方法.由于子类和父类之间的关系,从而引出了方法重写和方法重载的问题.方法重写及方法重载在继承和多态性方面的应用中会存在很多问题,这些概念很容易混淆,掌握重写和重载的区别对学会使用多态的方式编写程序.提高程序的可维护性奠定了基础.一.方法重写(0veriding)如何定义重写:在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所

方法重写与方法重载的区别

一.方法重写(0veriding) 在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量. 子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖. 重写体现了Java优越性,重写是建立在继承关系上,它使语言结构更加丰富.在Java中的继承中,子类既可以隐藏和访问父类的方法,也可以覆盖继承父类的方法. 在Java中覆盖继承父类的方法就是通过方法的重写来实现的.

方法重载,new,override

方法重载:参数列表不一样,方法名字一样,包括泛型,和返回值无关 new:   复写,方法重载    继承是对于普通方法和属性  复写 父类的 override:  覆盖,重写 ,  对于抽象方法和虚方法和接口,是多态的基础               方法被定义为final不能被重写.

Java连载29-方法执行内存分析、方法重载

一.JVM包含三个内存区:栈内存.堆内存.方法区内存 二.注意点 (1)在MyEclipse中字体是红色的是一个类的名字,并且这个类除了我们自定义的类是JavaSE类库中自带的 (2)其实JavaSE类库中自带的类,例如:String.class\System.class,这些类的类名也是标识符 (3)只要是类名就一定是标识符 内存分析举例: public class D29_{ public static void main(String[] args) { int a = 10; int b