「爱丽丝java」爱丽丝梦游仙境故事梗概
今天给各位分享爱丽丝java的知识,其中也会对爱丽丝梦游仙境故事梗概进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
我的世界java如何换成爱丽丝的皮肤
玩家们只要购买了JAVA正版,便可在Minecraft.net的个人信息中上传皮肤文件来替换皮肤,就可以换成爱丽丝的皮肤了。
不可思议的心跳体验 爱丽丝学园 游戏下载
= =还是自己下载好一点,用邮件很容易感染病毒,比如我也想下载歌姬计划,但是他们说用邮件并不好,而且容量大,模拟器更别说了,一大堆组件,弄不好电脑还坏掉!(本人下载模拟器差点坏掉)
模拟器可用java ,但要做好准备,这个东西很难除掉!还有他的组件也要的(麻烦死了)
关于Java 中的super
toString方法用于表示对象值的字符串.
绝大多数的toString方法遵循这样的格式:类的名字,随后是一对方括号括起来的域值.下面是Employee类中的toString方法的实现(后面附上完整程序):
public String toString()
{
return"Employee[name"+name+",salary="+salary+",hireDay="+hireDay+"]";
}
实际上,还可以设计的更好一些,最好通过调用getClass().getName()得到类名得字符串,而不要将类名硬加到toString方法中.
public String toString()
{
return getClass().getName()+"[name+"+name+",salary="+salary+
",hireDay="+hireDay+"]";
}
toString方法也可以供子类调用.当然在设计子类时也应该定义自己得toString方法,并将子类得描述添加进去.如果超类使用了getClass().getName(),那么子类仅调用super.toString()就可以了,例如,下面是Manager类中的toString方法:
Class Manager extends Employee
{
.......
public String toString()
{
return super.toString()
+"[bonus="+bonus+"]";
}
}
调用toString:只要对象与一个字符串通过操作符"+"连接起来,java编译就会自动地调用toString方法,以便获得这个对象字符串描述.例如:
Point p=new Point(10,20);
String message="The current position is"+p;
//automatically invokes p.toString()
强烈建议为自己编写的每一个类增加toString方法.这样不仅自己受益,而且所有使用这个类的程序员也都会受益菲浅.
下面这个程序实现了Employee和Manager类的toString,equals和hashCode方法.
import java.util.*;
public class EqualsTest
{
public static void main(String[] args)
{
Employee alice1 = new Employee("Alice Adams", 75000, 1987, 12, 15);
Employee alice2 = alice1;
Employee alice3 = new Employee("Alice Adams", 75000, 1987, 12, 15);
Employee bob = new Employee("Bob Brandson", 50000, 1989, 10, 1);
System.out.println("alice1 == alice2: " + (alice1 == alice2));
System.out.println("alice1 == alice3: " + (alice1 == alice3));
System.out.println("alice1.equals(alice3): " + alice1.equals(alice3));
System.out.println("alice1.equals(bob): " + alice1.equals(bob));
System.out.println("bob.toString(): " + bob);
Manager carl = new Manager("Carl Cracker", 80000, 1987, 12, 15);
Manager boss = new Manager("Carl Cracker", 80000, 1987, 12, 15);
boss.setBonus(5000);
System.out.println("boss.toString(): " + boss);
System.out.println("carl.equals(boss): " + carl.equals(boss));
System.out.println("alice1.hashCode(): " + alice1.hashCode());
System.out.println("alice3.hashCode(): " + alice3.hashCode());
System.out.println("bob.hashCode(): " + bob.hashCode());
System.out.println("carl.hashCode(): " + carl.hashCode());
}
}
class Employee
{
public Employee(String n, double s, int year, int month, int day)
{
name = n;
salary = s;
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
hireDay = calendar.getTime();
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public Date getHireDay()
{
return hireDay;
}
public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}
public boolean equals(Object otherObject)
{
// a quick test to see if the objects are identical
if (this == otherObject) return true;
// must return false if the explicit parameter is null
if (otherObject == null) return false;
// if the classes don't match, they can't be equal
if (getClass() != otherObject.getClass())
return false;
// now we know otherObject is a non-null Employee
Employee other = (Employee) otherObject;
// test whether the fields have identical values
return name.equals(other.name)
salary == other.salary
hireDay.equals(other.hireDay);
}
public int hashCode()
{
return 7 * name.hashCode()
+ 11 * new Double(salary).hashCode()
+ 13 * hireDay.hashCode();
}
public String toString()
{
return getClass().getName()
+ "[name=" + name
+ ",salary=" + salary
+ ",hireDay=" + hireDay
+ "]";
}
private String name;
private double salary;
private Date hireDay;
}
class Manager extends Employee
{
public Manager(String n, double s, int year, int month, int day)
{
super(n, s, year, month, day);
bonus = 0;
}
public double getSalary()
{
double baseSalary = super.getSalary();
return baseSalary + bonus;
}
public void setBonus(double b)
{
bonus = b;
}
public boolean equals(Object otherObject)
{
if (!super.equals(otherObject)) return false;
Manager other = (Manager) otherObject;
// super.equals checked that this and other belong to the same class
return bonus == other.bonus;
}
public int hashCode()
{
return super.hashCode()
+ 17 * new Double(bonus).hashCode();
}
public String toString()
{
return super.toString()
+ "[bonus=" + bonus
+ "]";
}
private double bonus;
}
toString()是重写了父类Object的方法,目的是把该对象以字符串的形式表达出来,
一般的实体类都要重写toString() 、equals()、hashCode()等方法方法,如User ,Student等实体类
如果一个类用来处理一些业务的就没必要重写toStirng()
在commons-lang包中都封装了这些方法,
1)public boolean equals(Object obj){
return EqualsBuilder.reflectionEquals(this.obj);
}
2)public int hashCode(){
return HashCodeBuilder.reflectionHashCode(this);
}
3)public String toStirng(){
teturn ToStringBuilder.reflectionToString(this);
}
java中的toString()函数用法
在java中,所有对象都有toString()这个方法,因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”
它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法
toString就是让你重写用以在调用的时候输出你像要输出的信息的,谁调用它就把谁换成字符串形式 ,toString()方法返回对象的字符串表示;
也就是当打印输出一个对象时,系统自动调用其toString方法,打印的是toString方法的返回值。
总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法
例子1:
public class A{
public String toString(){return "this is A";}
}
如果某个方法里面有如下句子:
A obj=new A();
System.out.println(obj);
会得到输出:this is A
例子2:
public class A{
public String getString(){return "this is A";}//toString改个名字试试看
}
A obj=new A();
System.out.println(obj); //隐式调用toString()函数
//因为没用自定义toString()函数的返回值,所以会得到输出:xxxx@xxxxxxx的类名加地址形式 ;
System.out.println(obj.getString()); //显式调用getString()函数,会得到输出:this is A
所以,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来
小弟对java图形界面这块不是很熟悉,请问下面的界面是怎么做的?
Java的GUI技术有很多种,包括AWT,Swing,SWT,JavaFx,各自的实现方式都不一样.
给你一个Swing实现的例子,希望有帮助
import javax.swing.*;
public class SimpleTable {
JFrame jf = new JFrame("DEMO");
JTable table;
//定义二维数组作为表格数据
Object[][] tableData ={
new Object[]{"星空.mp3", 4543586, "NO.1", "E:\\My Music\\星空.MP3"},
new Object[]{"献给爱丽丝.mp3", 2065316, "NO.2", "E:\\My Music\\献给爱丽丝.MP3"},
new Object[]{"秋日私语.mp3", 2834779, "NO.3", "E:\\My Music\\秋日私语.MP3"}
};
//定义一维数据作为列标题
Object[] columnTitle = {"文件名", "文件大小", "提供者", "文件路径"};
public void init() {
//以二维数组和一维数组来创建一个JTable对象
table = new JTable(tableData, columnTitle);
//将JTable对象放在JScrollPane中,并将该JScrollPane放在窗口中显示出来
jf.add(new JScrollPane(table));
jf.pack();
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setVisible(true);
}
public static void main(String[] args) throws Exception {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
new SimpleTable().init();
}
}
关于爱丽丝java和爱丽丝梦游仙境故事梗概的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。