A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. <p>package com.heima.demo;

  2. public class Test_demo {

  3.         public static void main(String[] args) {
  4.                 HeiMaStudent hms = new HeiMaStudent(new Student());
  5.                 hms.code();
  6.         }

  7. }

  8. interface Coder {
  9.         public void code();
  10. }

  11. class Student implements Coder {

  12.         @Override
  13.         public void code() {
  14.                 System.out.println("javase");
  15.                 System.out.println("javaweb");
  16.         }
  17.        
  18. }

  19. class HeiMaStudent implements Coder {
  20.         private Student s;
  21.        
  22.         public HeiMaStudent (Student s) {
  23.                 this.s = s;
  24.         }
  25.         @Override
  26.         public void code() {
  27.                 s.code();
  28.                 System.out.println("大数据");
  29.                 System.out.println("javaee");
  30.                 System.out.println("....");
  31.         }
  32.        
  33. }</p><p>尤其是后面的私有学生类,还有下面的HeiMaStudent方法里this.s = s;到底是什么意思,代表什么,完全不懂,请指教</p>
复制代码


3 个回复

倒序浏览
他的好 来自手机 中级黑马 2016-7-1 21:25:24
沙发
this.s=s,就是将传递的参数赋值给私有的student类型的变量,定义的s是一个对象
回复 使用道具 举报
HeiMaStudent类只有一个构造函数,这个构造函数要求在创建HeiMaStudent对象时,必须要传递一个Studnet的对象。也可以拿这个和继承类比,this.s = s,意思是将构造函数中传递的Student对象赋值给HeiMaStudent对象中的私有属性。表明在这个HeiMaStudent对象中有一个Studnet对象,在这里可以调用Studnet对象的属性和方法。
回复 使用道具 举报
可以的。谢谢 学到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马