以前做的小demo,功能简单,但蕴含了很多Java基本属性与使用方式,例如:类,多态,线程,输入等等,对于初学者挺适合了解一下的。
至于如何建立类,只有自己了解学习了。
此处仅仅体现了一下线程的用法与意义,具体用法需要自习拓展。
此处仅实现了功能具体使用原理请百度详细了解。
使用环境eclipse
基类:
package my;
import java.util.Scanner;
public class base extends Thread
{
public double S;
public double C;
public String name;
public double area()
{
return S;
}
public double Perimeter()
{
return C;
}
public void getkind()
{
}
public void getmessage()
{
}
public void outmessage()
{
System.out.println("面积:"+this.S);
System.out.println("周长:"+this.C);
System.out.println("类型:"+this.name);
}
//super调用父类函数
// abstract +类 即为抽象类
//public void abstract whatever()//没有函数体申明即为抽象函数
//抽象类不能被实例化
//import +包+class导入类
//import +包+.*导入该目录下所有类
// 如果一个类包含抽象方法,那么该类必须是抽象类。
// 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
// 1. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
// 2. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
// 3. 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
// 4. 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
// 在Java中,类的多继承是不合法,但接口允许多继承,。
// 在接口(interface )的多继承中extends关键字只需要使用一次,在其后跟着继承接口。 如下所示:
// public interface Hockey extends Sports, Event
//Scanner 读取时next(),不可读取下一行、,,,,,nextline可以
//Scanner 的hasnextInt //hasnextFloat 分别读取整数与小数
}
三角类:
package my;
import java.util.Scanner;
public class sanjiao extends base
{
private double di;
private double high;
public double area()
{
S=di*high/2;
return S;
}
public void getmessage()
{
System.out.println("这是一个三角形,请输入底:");
Scanner l=new Scanner(System.in);
Scanner k=new Scanner(System.in);
di=l.nextDouble();
System.out.println("请输入高:");
high=k.nextDouble();
}
public void outmessage()
{
System.out.println("该三角形面积:"+area());
System.out.println("该三角形周长懒得算");
}
public static void main(String[] args)
{
sanjiao a=new sanjiao();
a.getmessage();
a.outmessage();
}
public void run()
{
int i=0;
for(i=0;i<100;i++)
{
System.out.println("hail 三角"+i);
try
{
Thread.sleep(30);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
圆类:
package my;
import java.util.Scanner;
public class yuan extends base
{
private double PI=3.14159;
private double R;
public double area()
{
S=PI*R*R;
return S;
}
public double Perimeter()
{
C=2*PI*R;
return C;
}
public void getkind()
{
}
public void getmessage()
{
System.out.println("这是一个圆,请输入半径:");
Scanner m=new Scanner(System.in);
Boolean p=m.hasNextLine();
if(p)
{
R=m.nextDouble();
}
else
{
System.out.println("输入错误!");
}
}
public void outmessage()
{
System.out.println("圆面积:"+area());
System.out.println("圆周长:"+Perimeter());
}
public static void main(String[] args)
{
yuan a=new yuan();
a.getmessage();
a.outmessage();
}
public void run()
{
int i=0;
for(i=0;i<100;i++)
{
System.out.println("hail 圆"+i);
try
{
Thread.sleep(30);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
四边形类:
package my;
import java.util.Scanner;
public class sibian extends base
{
private double chang;
private double kuan;
public double area()
{
S=chang*kuan;
return S;
}
public double Perimeter()
{
C=(chang+kuan)*2;
return C;
}
public void getmessage()
{
System.out.println("这是一个四边形,请输入长:");
Scanner l=new Scanner(System.in);
Scanner k=new Scanner(System.in);
chang=l.nextDouble();
System.out.println("请输入宽:");
kuan=k.nextDouble();
}
public void outmessage()
{
System.out.println("该四边形面积:"+area());
System.out.println("该四边形周长:"+Perimeter());
}
public static void main(String[] args)
{
sibian a=new sibian();
a.getmessage();
a.outmessage();
}
public void run()
{
int i=0;
for(i=0;i<100;i++)
{
System.out.println("hail 四边"+i);
try
{
Thread.sleep(30);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
// dont worry about anything
//bang bang bang bang
}
}
}
}
最后操作demo类:
package my;
import java.util.Random;
import java.util.Scanner;
public class demo
{
public static void main(String[] args)
{
int jl=0,ok=0;
System.out.println("请输入您想操作的次数:");
Scanner s=new Scanner(System.in);
if(s.hasNextLine())
{
ok=s.nextInt();
}
base a;
while(jl<ok)
{
jl++;
System.out.println("这是第"+jl+"次操作");
Random w=new Random();
int num=w.nextInt(120)%(120-0+1)+1;
if(num>=1&&num<40)
{
a=new yuan();
a.getmessage();
a.outmessage();
}
else if(num>=40&&num<80)
{
a=new sanjiao();
a.getmessage();
a.outmessage();
}
else if(num>=80&&num<120)
{
a=new sibian();
a.getmessage();
a.outmessage();
}
}
base b,c,d;
b=new sanjiao();
c=new sibian();
d=new yuan();
b.start();
c.start();
d.start();
System.out.println("感谢使用!!!");
}
}
//int max=20;
//int min=10;
//Random random = new Random();
//
//int s = random.nextInt(max)%(max-min+1) + min;
//System.out.println(s);