1.定义一个包含name、age、和like属性的Person类,实例化并给对象赋值,然后输出对象属性。
public class Hello
{
public static void main(String[] args) {
class Person{
String name;
int age;
String like;
}
Person person = new Person();
person.name = "张峻荣";
person.age = 20;
person.like = "basketball";
System.out.println(person.name);
System.out.println(person.age);
System.out.println(person.like);
}
}
2.定义一个book类,包括属性title(书名)和price(价格),并在该类中定义一个方法printlnfo(),来输出这两个属性。然后再定义一个主类,其内包括主方法,在主方法内中,定义2个book类的实例bookA和bookB,并且初始化title和price的值。然后将bookA赋值给bookB,分别调用printlnfo(),查看输出结果并分析原因。
class book{
static String title;//书名
static int price;//价格
public String printlnfo(){
return (book.title + "的价格是" + book.price);
}
}
public class Hello
{
public static void main(String[] args) {
book bookA = new book();
bookA.title = "格林童话";
bookA.price = 120;
book bookB = bookA;
System.out.println(bookA.printlnfo());
System.out.println(bookB.printlnfo());
}
}
输出结果:格林童话的价格是120
格林童话的价格是120
3.定义一个book类,若属性修饰符采用static则表示对所有同类对象公用,如static String title;则调用改变book3.title的值的时候,book1,book2的属性值也会发生改变。
正确用法:
class book{
String title;//书名
int price;//价格
String pub ="天天精彩出版社" ;//出版社
void getlnfo(String pub) {
this.pub=pub;
}
}
public class Hello
{
public static void main(String[] args) {
book b1 = new book();
book b2 = new book();
book b3 = new book();
b1.getlnfo("每日精彩出版社");
System.out.println(b1.pub);
System.out.println(b3.pub);
System.out.println(b2.pub);
}
}
运行结果:每日精彩出版社
天天精彩出版社
天天精彩出版社
错误用法:
static String title;
static int price;
static String pub;
运行结果:每日精彩出版社
每日精彩出版社
每日精彩出版社