使用书籍《java从门到精通》,《java经典编程300例》
访问包位置 | private | protected | public | 本类 | 可见 | 可见 | 可见 | 同包其他类或子类 | 不可见 | 可见 | 可见 | 其他包的类或子类 | 不可见 | 不可见 | 可见 |
this关键字用于表示本类当前的对象,当前对象不是某个new出来的实体对象,而是当前正在编辑的类。this关键字只能在本类中使用。
- 入门练习--自定义图书类?
package bb;
public class ss {
private String bookname;
private String author;
private int price;
public ss(String a,String b,int c)
{
this.bookname=a;
this.author=b;
this.price=c;
}
public String get1()
{
return bookname;
}
public String get2()
{
return author;
}
public int get3()
{
return price;
}
public static void main(String[] args)
{
ss p1=new ss("小杰学java","小杰",50);//新建对象,并初始化
System.out.println("书名: "+p1.get1());
System.out.println("人: "+p1.get2());
System.out.println("价格: "+p1.get3());
}
}
书名: 小杰学java
人: 小杰
价格: 50
?小白笔记:一个类,通常包括域和方法两部分。域表示对象的状态,方法表示对象的行为。使用new关键字可以创建类的对象。通常情况下,不同的对象状态是有差别的。可以使用构造方法在创建对象时就设置状态,也可以使用方法在创建对象后修改对象的状态。
?2.入门练习--汉诺塔问题求解
问题描述:有A,B,C,3根柱子,在A从上往下按照从小到大的顺序放着64个圆盘,以B为中介,把盘子全部移动到C上。移动过程中,要求任意盘子的下面要么没有盘子,要么只能有比它大的盘子。
- 下面以3个盘子为例
-
package bb;
public class ss {
public static void move(int level,char p1,char p2,char p3)//p2做中间的盘子,level代表几个盘子
{
if(level==1)
{
System.out.println("从"+p1+"移动盘子 1 号到"+p3);
}
else
{
move(level-1,p1,p3,p2);//把levle-1个盘子从A移动到B
System.out.println("从"+p1+"移动盘子 "+level+"号到"+p3);
move(level-1,p2,p1,p3);//把level-1个盘子从B移动到C
}
}
public static void main(String[] args)
{
int level=3;
move(level,'A','B','C');
}
}
为了将第N个盘子从A移动到C,需要先将第N个盘子上面的N-1个盘子移动到B上,这样才能将第N个盘子移动到C上。同理,为了将第N-1个盘子从B移动到C上,需要将N-2个盘子移动到A上,这样才能将第N-1个盘子移动到C上。?
3.入门练习——编写同名的方法 -
在C语言中,如果要在一个文件内定义两个同名的函数(方法)会报告错误,这种情况在弄具有相似功能不同参数的方法非常不利,在java种可使用重载技术来实现这个需求
定义一个方法,分别求2个Int,double,long型数据的和
public static int get1(int a,int b)
{
return a+b;
}
public static double get1(double a,double b)
{
return a+b;
}
public static long get1(long a,long b)
{
return a+b;
}
例如下面的加鸡蛋问题:
public class egg{
int egg1;
public egg(int p)
{
this.egg1=p;
}
public egg()
{
this(1);
}
public static void main(String[] args)
{
egg cake1=new egg();
System.out.println("顾客不要求加鸡蛋,饼里会有"+cake1.egg1+"个鸡蛋");
egg cake2=new egg(2);
System.out.println("顾客要求加2个鸡蛋,饼里有"+cake2.egg1+"个鸡蛋");
}
}
顾客不要求加鸡蛋,饼里会有1个鸡蛋
顾客要求加2个鸡蛋,饼里有2个鸡蛋
?面向对象入门笔记(1),厚积薄发,一步一个脚印!
|