Fish.java:
public abstract class Fish {
public abstract int swim()
}
FishTest.java:
public class TestFish {
private void print(Fish fish) {
System.out.println("鱼游过" + fish.swim() + "米")
}
public static void main(String[] args) {
TestFish testFish = new TestFish()
Fish fish = new Fish() {
@Override
public int swim() {
return 10
}
}
testFish.print(fish)
}
}
运行结果:
你的情况我理解的时你可能swim寄存器swim_scr配置有问题。
写flash之前时需要解锁flash写保护的(针对byte写)如果实现块写,更需要让块写程序运行在RAM中。
希望帮到。~
一写就写多了,不过包含的东西比较多,java的重要知识点里面也有这个结构是简单的处理的,有兴趣的话你可以想象下写成一个小的文字游戏
public class D {
public static void main(String[] args){
Cat cat1 = new Cat("Tom" , 10)
Cat cat2 = new Cat("Sun" , 15 , "苹果树")
Dog dog1 = new Dog("lufy" , 5)
Dog dog2 = new Dog("nan" , 20 , "泳池")
cat1.start()
cat2.start()
dog1.start()
dog2.start()
}
}
abstract class Creature extends Thread
{
protected int life//生物的寿命
protected String name = ""
protected String objname = ""
public void call(){}
public void eat(){}
public void active(int state){}
}
class Cat extends Creature
{
public Cat(String name , int life)
{
this.name = name
this.life = life
System.out.println("小猫" + name + "诞生了 , 寿命" + life)
}
public Cat(String name , int life ,String objname)
{
this.name = name
this.life = life
this.objname = objname
System.out.println("小猫" + name + "诞生了 , 寿命" + life + "喜欢" + objname )
}
public void climb()
{
System.out.println("小猫" + name + "在爬树" )
}
public void climb(String objname)
{
System.out.println("小猫" + name + "在爬" + objname + "树")
}
@Override
public void call() {
System.out.println("小猫" + name + "停下来在喵喵的叫" )
}
@Override
public void eat() {
System.out.println("小猫" + name + "饿了,它在吃东西" )
}
@Override
public void active(int state) {
switch(state)
{
case 1:
if(objname.length() >0)
climb(objname)
else
climb()
break
case 2:
call()
break
case 3:
eat()
break
}
}
@Override
public void run() {
//你可以尝试在这里做一个状态机,控制动物的行为
int i = 0
int state = 0
while(i <life)
{
double rnd = Math.random()
state = (int)(rnd * 4)//随机出状态
active(state)
i++
}
System.out.println("小猫" + name + "它的生命结束了,享年" + life)
}
}
class Dog extends Creature
{
public Dog(String name , int life)
{
this.name = name
this.life = life
System.out.println("小狗" + name + "诞生了 , 寿命" + life )
}
public Dog(String name , int life , String objname)
{
this.name = name
this.life = life
this.objname = objname
System.out.println("小狗" + name + "诞生了 , 寿命" + life + "喜欢" + objname )
}
public void swim()
{
System.out.println("小狗" + name + "在游泳" )
}
public void swim(String objname)
{
System.out.println("小狗" + name + "在" + objname + "游泳")
}
@Override
public void call() {
System.out.println("小狗" + name + "停下来在喵喵的叫" )
}
@Override
public void eat() {
System.out.println("小狗" + name + "饿了,它在吃东西" )
}
@Override
public void active(int state) {
switch(state)
{
case 1:
if(objname.length() >0)
swim(objname)
else
swim()
break
case 2:
call()
break
case 3:
eat()
break
}
}
@Override
public void run() {
//你可以尝试在这里做一个状态机,控制动物的行为
int i = 0
int state = 0
while(i <life)
{
double rnd = Math.random()
state = (int)(rnd * 4)//随机出状态
active(state)
i++
}
System.out.println("小狗" + name + "它的生命结束了,享年" + life)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)