public class eq13 {
public static void main(String args[]) {
A a=new A();
a.student.start();
a.teacher.start();
}
}
class A implements Runnable {
Thread teacher,student;
A(){
teacher=new Thread(this);//这个this作用是什么??还有我将它换成teacher为什么不行啊???
student=new Thread(this);
teacher.setName("王教授");
student.setName("学生");
}
public void run() {
...地下不再写啦
public static void main(String args[]) {
A a=new A();
a.student.start();
a.teacher.start();
}
}
class A implements Runnable {
Thread teacher,student;
A(){
teacher=new Thread(this);//这个this作用是什么??还有我将它换成teacher为什么不行啊???
student=new Thread(this);
teacher.setName("王教授");
student.setName("学生");
}
public void run() {
...地下不再写啦
解决方案 »
- 请教一个问题,java 中fully encapsulated是什么概念?
- 书上一个例子,死都调不通,谁帮忙我发源程序邮件给他(她),然后告诉我是否可以调通。谢谢!!!
- 好奇怪!好郁闷啊!JMenu的下拉菜单弹不出来
- data request failed. Stream ended unexpectedly
- 怎么样自动生成学生学号
- 为什么不能删除.txt临时文件
- 如何用java来将excel文件转化为html文件问题?急!在线!
- 如何取得公司内部网中, 其他机子的IP
- 一个头疼的问题
- 请各为老大给介绍几个好用的反编译工具 谢谢
- 想不通一些关于循环的问题(初学)
- 急!!!!poi合并excel单元格过时,怎么办?
// 对象时需要在外部类对象的基础上进行 new
JavaThis.Student st = jt.new Student("student"); st.show("hello");
}
}class JavaThis { private String name;
private int age; public JavaThis(String name) {
// 构造参数名与这个类的成员变量名相同,因此在赋值需要使用 this.name = name; 表示将
// 参数中的 name 值赋给 JavaThis 对象的 name 成员变量中去
// 如果不用这个 this. 就成了 name = name; 这样很明显就是不对的了
this.name = name;
} public JavaThis(String name, int a) {
// 使用 this 函数?
// 这里指的是调用 JavaThis 这个类中带有 String 一个参数的构造方法,也就是先调用上面
// 那个构造
this(name); // 这里由于参数名不叫 age,因此这里可以直接使用 age = a; 当然了也可以写成 this.age = a;
age = a;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public void show() {
System.out.println("javathis name: " + name);
} public class Student { private String name; public Student(String name) {
this.name = name;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public void show(String name) { // 由于方法参数中有个 name,因此这里调用 name 是方法参数中的
System.out.println("my name: " + name); // 同上,由于方法参数中有个 name,要调用自己类中的成员变量 name 时需要使用
// this.name,如果方法参数中名字不叫 name,那么这里使用 name 或者 this.name
// 都是同样的效果
System.out.println("my name: " + this.name); // 由于 Student 不是静态的内部类,而且外部类中的 name 与这个类中的 name
// 名字一样,因此要引用外部类中的 name 时需要使用:<外部类名>.this.<外部类成员变量名>
// 如果直接写 this.name 的话,那表示是自己的 name
System.out.println("out name: " + JavaThis.this.name); // 同理,由于这里想调用外部类中的 show 方法,如果直接调用或者用 this.show() 的话,
// 会被认为是调用自己的 show 方法,因此需要使用:<外部类名>.this.<外部类方法>
// 下面这个调用等价于:
// JavaThis outer = JavaThis.this;
// outer.show();
JavaThis.this.show();
}
}
}
this.x=x}this指明是这个类,该类super指是父类
A a = new A() this 就是这个a