public class Javahomeworkday21 {
public static void main(String[] args) {
InsertDrawable mouse = new Mouse();
Computer computer = new Computer(mouse);
mouse.connect();
mouse.setColor("红色");//这里想用mouse.color进行对mouse对象的color赋值 但是报错 下面Mouse中的tostring方法能用getColor
System.out.println(mouse);
}
}
class Computer {
private InsertDrawable insertDrawable;
private String color;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Computer() {
}
public Computer(InsertDrawable insertDrawable) {
this.insertDrawable = insertDrawable;
}
public InsertDrawable getInsertDrawable() {
return insertDrawable;
}
public void setInsertDrawable(InsertDrawable insertDrawable) {
this.insertDrawable = insertDrawable;
}
}
interface InsertDrawable{
void connect();
}
class Mouse extends Computer implements InsertDrawable{
public void connect() {
System.out.println("鼠标已连接");
}
@Override
public String toString() {
return "Mouse{" +
"color='" +getColor() + '\'' +
'}';
}
}
class Mey extends Computer implements InsertDrawable{
@Override
public void connect() {
System.out.println("键盘已连接");
}
}
class Xinashiqi extends Computer implements InsertDrawable{
@Override
public void connect() {
System.out.println("显示器已连接");
}
}
class Dayinji extends Computer implements InsertDrawable{
@Override
public void connect() {
System.out.println("打印机已连接");
}
}
这里面哪来的 Color;
computer.setColor("红色");
给你改了一下
public class Javahomeworkday21 {
public static void main(String[] args) {
InsertDrawable mouse = new Mouse();
Computer computer = new Computer(mouse);
mouse.connect();
computer .setColor("红色");//这里想用mouse.color进行对mouse对象的color赋值 但是报错 下面Mouse中的tostring方法能用getColor
System.out.println(mouse);
}
}
class Computer {
private InsertDrawable insertDrawable;
private String color;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Computer() {
}
public Computer(InsertDrawable insertDrawable) {
this.insertDrawable = insertDrawable;
}
public InsertDrawable getInsertDrawable() {
return insertDrawable;
}
public void setInsertDrawable(InsertDrawable insertDrawable) {
this.insertDrawable = insertDrawable;
}
}
interface InsertDrawable{
void connect();
}
class Mouse extends Computer implements InsertDrawable{
public void connect() {
System.out.println("鼠标已连接");
}
@Override
public String toString() {
return "Mouse{" +
"color='" +getColor() + '\'' +
'}';
}
}
class Mey extends Computer implements InsertDrawable{
@Override
public void connect() {
System.out.println("键盘已连接");
}
}
class Xinashiqi extends Computer implements InsertDrawable{
@Override
public void connect() {
System.out.println("显示器已连接");
}
}
class Dayinji extends Computer implements InsertDrawable{
@Override
public void connect() {
System.out.println("打印机已连接");
}
}
Mouse mouse = new Mouse(); // 这样就能调用setColor方法了
InsertDrawable mouse = new Mouse(); // 这个样子是说用Mouse实例创建InsertDrawable对象,所以本质上是InsertDrawable对象,所以只能调用InsertDrawable里的属性和方法
(Mouse)mouse.setColor() // 你想直接用要把类型强转成有setColor方法的类型,才能调用setColor方法