`
小白杨的记忆
  • 浏览: 16011 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

构造函数传参

 
阅读更多
利用构造函数传递参数

   public class Painter{
   //定义方法
   public void showFrame(){
       javax.swing.JFrame frame=new javax.swing.JFrame();
       frame.setSize(300,400);
       frame.setTitle("QQworld");
       frame.setLocationRelativeTo(null);
       //frame.setDefaultCloseOperation(3);
       java.awt.FlowLayout layout=new java.awt.FlowLayout();
       frame.setLayout(layout);
       frame.setVisible(true);
//获取窗体的画布对象
java.awt.Graphics g = frame.getGraphics();
       //创建鼠标事件监听器
       java.awt.event.MouseListener mymouselistener=new MyMouseListener(g);
       // 对窗体进行鼠标事件监听
       frame.addMouseListener(mymouselistener);
      
      
   }
   public static void main(String[]args){
       Painter QQ=new Painter();
       QQ.showFrame();
   }
}
//创建一个鼠标监听器对象
public class MyMouseListener implements java.awt.event.MouseListener{
       private int x1,x2,y1,y2;
       private java.awt.Graphics g;  
        //构造函数
       public MyMouseListener(java.awt.Graphics gr){
g = gr;
        }
            //实现接口类中的所有抽象方法
             public void mouseClicked(java.awt.event.MouseEvent e){
                  System.out.println("clicked");
             }
             public void mousePressed(java.awt.event.MouseEvent e){
                  System.out.println("pressed");
                  x1=e.getX();
                  y1=e.getY();
             }
             public void  mouseReleased(java.awt.event.MouseEvent e){
                  System.out.println("release");
                  x2=e.getX();
                  y2=e.getY();
  //画图
g.drawLine(x1,y1,x2,y2);
             }
             public void mouseEntered(java.awt.event.MouseEvent e){
                  System.out.println("entered");
             }
             public void mouseExited(java.awt.event.MouseEvent e){
                  System.out.println("Exited");
             }
      
}
//如上例
先把MyMouseListener(g)中的实参g传给MyMouseListener(java.awt.Graphics gr)中的形参gr
然后再把gr传给MyMouseListener类中的属性g
分享到:
评论
1 楼 神奇的蛋定 2013-05-25  
标题党啊,还是希望你把参数的传递说的详细一点,还有斌哥教导,只要主要的代码就好

相关推荐

    C++关于构造函数可向父类或者本类传参的讲解

    在C++的构造函数中,子类继承父类,那么,在创建一个子类成员时,可以同时向父类或者子类的构造函数进行传参,实现方法如下: 写一个例子:mul_argc.c #include #include using namespace std ; //英雄联盟类 ...

    拷贝构造函数导致指针挂起的研究

    - 构造函数传参:如 `MyClass cls2(cls1);` - 创建临时对象:如在表达式中使用操作符重载时,编译器可能会创建临时对象。 #### 4. 解决方案 为了解决指针挂起的问题,最常用的方法是实现一个深拷贝(deep copy)的...

    js实现轮播图的两种方式(构造函数、面向对象)

    1、构造函数 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type='text/css'> *{ margin:0; padding:0;} #wrap{ width:500px; ...

    C#窗体间传值.doc

    1. **构造函数传参**:这是最常见的数据传递方式之一,即将需要的数据作为构造函数的参数传递给目标窗体。 2. **属性传参**:可以通过为窗体添加公共属性的方式,在打开新窗体之前设置这些属性的值,然后在新窗体中...

    cpp代码-C++:初始化列表:2.向构造函数传递参数

    cpp代码-C++:初始化列表:2.向构造函数传递参数

    C# winform 窗体之间传参

    1. 构造函数传参:创建新窗体实例时,可以通过构造函数将参数传入。例如,在`Form2`中定义一个接受字符串参数的构造函数: ```csharp public partial class Form2 : Form { public Form2(string param) { ...

    给Thread线程传递数据

    本篇将详细讲解两种主要的方式:通过构造函数传参和使用自定义类。 首先,让我们来看看**通过构造函数传递数据**的方法。在Java中,我们可以创建一个新的`Thread`类的子类,并在其中重写`run`方法。在构造函数中...

    Silverlight子窗口(ChildWindow)传递参数到父窗口演示

    在ChildWindow中传递参数通常有两种方式:构造函数传参和依赖属性。 1. **构造函数传参**: 你可以在ChildWindow的构造函数中接收参数,然后在内部使用。例如,假设我们想要传递一个字符串参数: ```csharp ...

    wxWidgets与libctb库编写的串口通讯程序

    2.IOBase、SerialPort(继承自IOBase)、GPIB(继承自IOBase)三个类修改了构造函数,原来FIFO缓冲的尺寸固定为256,我觉得波特率高时候可能不够用,现在改为通过构造函数传参由用户指定,示例程序中使用4096。...

    在aar库中传递参数demo

    2. **构造函数传参**:如果参数是对象或更复杂的类型,可以通过aar库提供的构造函数接收。主项目在创建aar库实例时传递参数。例如: ```java // 在aar库中 public class AarService { private String apiKey; ...

    es5生成class支持构造传参继承函数复用多继承

    首先,让我们来看看如何在ES5中创建一个具有构造函数和参数的“类”。构造函数是一个特殊的方法,用于初始化新创建的对象。在ES5中,我们可以定义一个函数来充当类的构造器: ```javascript function Person(name) ...

    理解js对象继承的N种模式

    缺点是创建子类实例时无法向父类构造函数传参,子类实例对父类引用类型的属性修改会影响所有实例。 2. **经典原型链继承**:通过在父类构造函数内部设置属性,并在子类构造函数中调用父类构造函数,实现属性的正确...

    Javascript的构造函数和constructor属性

    很显然,这个时候obj的constructor已经不再是创建它的函数,注意到obj.name也是undefined,因此修改构造函数的prototype的contructor并不会影响构造函数所产生的对象。真正的原因是:一个对象的constructor是它的...

    后端开发-06-线程执行带有参数的任务.ev4.rar

    - **构造函数传参**:创建线程对象时,可以将参数作为构造函数的参数传递。 - **匿名内部类传参**:使用匿名内部类实现Runnable接口时,可以将参数作为局部变量引入,然后在线程的run()方法中使用。 - **线程局部...

    一个窗体向另一个窗体传值

    - **构造函数传参**:在创建Form2实例时,可以通过构造函数将数据传递过去。 ```csharp private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(someValue); form2.Show(); } ``` 在...

    C#中实现窗体间传值

    1. **构造函数传参**: 当打开新窗体时,可以通过传递参数给新窗体的构造函数来实现数据传递。例如,假设有两个窗体Form1和Form2,我们可以在Form1中创建Form2实例并传递数据: ```csharp Form2 form2 = new ...

    窗体1传值到窗体2

    1. 构造函数传参: 当打开窗体2时,我们可以通过窗体的构造函数将数据作为参数传递。例如,在窗体1的按钮点击事件中创建窗体2的实例并传递数据: ```csharp Form2 form2 = new Form2(valueFromForm1); form2....

    JS继承的实现方式

    - 创建子类实例时,无法向父类构造函数传参。 #### 二、构造继承 **核心思想**: 使用父类的构造函数来初始化子类的属性。 **实现方式**: ```javascript function Animal(name) { this.name = name || 'Animal'; ...

Global site tag (gtag.js) - Google Analytics