bird

20191116java笔记:内部类

。_饼干妹妹 提交于 2019-12-04 15:52:31
#一、内部类(Inner class) 定义:在Java中,允许一个类的定义位于另一个类的内部,前者称谓内部类,后者称为外部类 1.内部类的分类 成员内部类:在类内部直接定义的类(可分为静态和非静态内部类) 一方面,作为外部类的成员 调用外部类的结构(方法、属性) 调用外部类的属性和方法时,需要完整路径 Person.this.属性 可以被四种不同的权限修饰 另一方面,作为一个类 可以定义属性方法和构造器 可以用final修饰,表示此类不能被继承;不适用final,则此内部类可以被继承 可以用abstract修饰 局部内部类:方法内、代码块内、构造器内 注意点1:在局部内部类的方法中,如果需要调用局部内部类所声明的方法中的局部变量的话,必须是final修饰的变量 2. 关于内部类,需要关注三个点 如何实例化成员内部类的对象 Person.Don dog = new Person.Dog(); // 静态内部类的实例化方式 Person.Bird bird = new Person().new Bird(); // 非静态内部类的实例化方式 如何在成员内部类中区分调用外部类的结构 System.out.println(name); // 直接调用形参 System.out.println(this.name); // 调用内部类的非静态属性 System.out.println

会飞的小鸟小游戏 原生js

左心房为你撑大大i 提交于 2019-12-02 23:35:40
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> * { margin: 0; padding: 0; } #fbWrap { width: 350px; height: 480px; background: url("img/bg.jpg"); background-size: 100% 100%; position: relative; overflow: hidden; margin: 0 auto; } #head { position: absolute; left: 50px; top: 150px; } #head span { background: url("img/bird0.png"); position: absolute; right: 0; top: 20px; width: 40px; height: 26px; background-size: 100% 100%; } #scoring { position: absolute; left: 50%; top: 40px; z-index: 2; font-size: 50px; } #menu { position:

Android JNI开发系列(十一) JNI 访问父类的构造方法和父类实例方法

岁酱吖の 提交于 2019-12-02 08:26:59
JNI 访问父类的构造方法和父类实例方法 构造方法和父类实例方法 先看一段Java代码, Java package org.professor.jni.animal; import android.util.Log; public class Animal { protected String name; public Animal(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void eat() { Log.i("ANIMAL", "ANIMAL EAT FOOD"); } } package org.professor.jni.animal; import android.util.Log; public class Bird extends Animal { public Bird(String name) { super(name); Log.i("ANIMAL", "BIRD Constructor"); } @Override public String getName() { Log.i("ANIMAL", "BIRD Get Name

python学习笔记之--继承

江枫思渺然 提交于 2019-12-02 05:35:20
#继承:子类具备所有父类的共有变量和共有方法(除私有的) 如果子类没有定义__init__构造方法,会自动调用父类的。 好处:站在老爸的肩膀上,增加属性,增加方法 在原有的基础上进行扩展。 class Person: count = 0 #类变量 nation = "中国" def __init__(self,name,gender): self.name = name self.gender = gender Person.count +=1 print("创建了一个新的人") def get_name(self):#实例方法,必须要实例化 return self.name class ChinaPerson(Person): #如果子类没有定义__init__构造方法 #会自动调用父类的。 def __init__(self,name,gender): Person.__init__(self,name,gender) #调用父类的构造函数:类名+构造函数 def get_gender(self): return self.gender cp = ChinaPerson("吴老师","男") print(cp.count) print(cp.name) print(cp.gender) print(cp.get_name()) C:\Users\dell\Desktop\练习

go接口

柔情痞子 提交于 2019-12-02 03:06:38
1、go通过接口将所有共性的方法进行统一处理,类比理解c++的多态//定义接口type AirIF interface { fly()}//定义结构体type bird struct{}//定义结构体type human struct{}//注:两个结构体bird、human都有接口里所有方法的共有属性//examp:func (bird)fly(){}func (human)fly(){} 来源: https://www.cnblogs.com/bailuoxi/p/11727951.html

Java 转型问题(向上转型和向下转型)

自作多情 提交于 2019-11-30 14:25:32
Java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。 什么叫父类引用指向子类对象? 从 2 个名词开始说起 :向上转型(upcasting) 、 向下转型(downcasting) 。 举个例子:有2个类,Father 是父类,Son 类继承自 Father。 第 1 个例子: Father f1 = new Son(); // 这就叫 upcasting (向上转型) // 现在 f1 引用指向一个Son对象 Son s1 = (Son)f1; // 这就叫 downcasting (向下转型) // 现在f1 还是指向 Son对象 第 2 个例子: Father f2 = new Father(); Son s2 = (Son)f2; // 出错,子类引用不能指向父类对象 你或许会问,第1个例子中: Son s1 = (Son)f1; 问为什么是正确的呢。 很简单因为 f1 指向一个子类对象,Father f1 = new Son(); 子类 s1 引用当然可以指向子类对象了。 而 f2 被传给了一个 Father 对象,Father f2 = new Father(); 子类 s2 引用不能指向父类对象。 总结: 1、父类引用指向子类对象,而子类引用不能指向父类对象。 2、把子类对象直接赋给父类引用叫upcasting向上转型,向上转型不用强制转换吗,如:

Java描述设计模式(09):装饰模式

二次信任 提交于 2019-11-30 03:36:30
本文源码: GitHub·点这里 || GitEE·点这里 一、生活场景 1、场景描述 孙悟空有七十二般变化,他的每一种变化都给他带来一种附加的本领。他变成鱼儿时,就可以到水里游泳;他变成鸟儿时,就可以在天上飞行。 2、场景图解 3、代码实现 public class C01_InScene { public static void main(String[] args) { TheGreatestSage greatestSage = new Monkey(); TheGreatestSage fish = new Fish(greatestSage); fish.shapeDesc(); // 这里虽然是鱼形态,但是本体是悟空,所以可以直接变化 TheGreatestSage bird = new Bird(fish); bird.shapeDesc(); } } // 顶级接口 interface TheGreatestSage { // 定义一个描述形态的方法 void shapeDesc (); } // 悟空本尊 class Monkey implements TheGreatestSage{ @Override public void shapeDesc() { System.out.println("Monkey.move()"); } } // 包装一层变化的描述

像素鸟游戏

心已入冬 提交于 2019-11-28 19:35:36
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> * { margin: 0; padding: 0; } #game { width: 800px; height: 600px; background: url('./images/sky.png'); position: relative; overflow: hidden; } #bird { width: 34px; height: 25px; background: url('./images/birds.png') -8px -10px no-repeat; position: absolute; top: 100px; left: 100px; } </style> </head> <body> <div id="game"> <div id="bird"></div> </div> <script> // 让小鸟飞起来 //