animal

python继承简介

蹲街弑〆低调 提交于 2019-11-26 22:45:37
继承 是面向对象的三大特性之一     作用: 通过继承可以使一个类获取其它类中的属性和方法   使用方法:     在定义类时,可以在类名后的括号中指定当前类的父类(超类、基类、super)     这样子类(衍生类)就可以直接继承父类中所有的属性和方法 效果图 : 代码: # 继承 是面向对象的三大特性之一 # 作用: 通过继承可以使一个类获取其它类中的属性和方法 # 使用方法: # 在定义类时,可以在类名后的括号中指定当前类的父类(超类、基类、super) # 这样子类(衍生类)就可以直接继承父类中所有的属性和方法 # 定义一个类 Animal ,有两个方法 class Animal: def run(self,name): print('%s逃跑一流'%name) def sleep(self,name): print(name+'半睡半醒') # 定义一个继承Animal的 Dog类 class Dog(Animal): def bark(self): print('汪汪汪') # 定义一个继承Dog的类 Hashiqi类 class Hashiqi(Dog): def fansha(self): print('搞破坏的哈士奇就是我') # 创建一个Dog的实例 d = Dog() d.run('狗狗') d.sleep('狗狗') d.bark() h =

6 方法调用时参数传递的问题

天大地大妈咪最大 提交于 2019-11-26 20:45:06
方法调用时,参数除了可以传递基本数据类型,还可以传递引用数据类型,这两种参数在传递的时候会有一些差异,在使用的时候需要注意 基本数据类型的参数传递 先来看看这段代码,m1方法中的i和main方法里面的i的值分别是多少? public class ParamTest01{ public static void m1(int i){ i++; System.out.println("m1里面的变量i=" + i); } public static void main(String[] args){ //局部变量 int i = 10; //调用 m1(i); System.out.println("main里面的变量i=" + i); } } 打印的结果是: m1里面的变量i=11 main里面的变量i=10 出现这个结果的原因就是main方法里面的i和m1方法里面的i分别占用的是两块不同的内存,请看下图,main方法栈帧和m1方法栈帧分别有两个i,所以这两个i是不同的。 引用数据类型的参数传递 什么是引用数据类型? 在Java语言里面除了基本数据类型,其他的都是引用数据类型。当方法传递的参数是引用数据类型时会是什么样子呢?请看下面代码 定义一个Animal类 class Animal{ private int age; public void setAge(int _age){