精华内容
下载资源
问答
  • 获取Bukkit插件主类单例的方法

    获取Bukkit插件主类单例的方法

    import org.bukkit.plugin.java.JavaPlugin;
    
    public class MyPlugin extends JavaPlugin{
      private static Myplugin instance;
      @Override
      public void onEnable(){
        instance = this;
        this.getLogger().info("插件已启动");
      }
      public static Myplugin getInstance(){
        return instance;
      }
    }
    


    
    这种获取插件主类的方式是利用了服务器在实例化插件后立即调用onEnable()方法,所以在方法中对私有静态变量instance进行赋值操作,将类的实例化对象地址直接传入变量中,而不用关心单例模式带来的其他问题。在其他类调用时直接使用MyPlugin.getInstance()方法即可。
    

    展开全文
  • 写ASP.NET程序,用到了WCF的技术,想页面调用数据改变后台的数据,发现无法取到后台WebForm的实例对象,这也就没法...主类中设定静态变量指向自己,而自定义变量利用这个变量调用即可。代码参考: 1 //主类...

    写ASP.NET程序,用到了WCF的技术,想在页面调用数据改变后台的数据,发现无法取到后台WebForm类的实例对象,这也就没法操作了。

    搜索了一圈,正好可以借鉴C#主窗体与子窗体互相调用的例子。

     

    一、主的调用自定义类很简单,保留自定义类的对象就好。

     

    二、自定义类调用实例不明的主类:

    主类中设定静态变量指向自己,而自定义变量利用这个变量调用即可。代码参考:

     1 //主类。。。。
     2 class WebFormMain {
     3     public static pToMe = null;            //静态指针
     4     //构造函数 
     5     public int WebFormMain() {
     6         pToMe = this;                //指向自己,方便调用
     7         return 0;
     8     }
     9 
    10     public void MainOutput() {            //公有函数,方便调用
    11         Console.write("this is the MainForm");
    12     }
    13 }
    14 
    15 
    16 //自定义类
    17 class WebFormCustom {
    18     private void getMainForm() {
    19         WebFormMain.pToMe.MainOutput();        //调用主类的函数
    20     }
    21 }

    注意:使用时,尽量保留VS对类的自动封装,不要改变private、protect等属性,可以添加public类型的属性导出对私有函数、私有变量的操作。

    转载于:https://www.cnblogs.com/OneK/p/3447718.html

    展开全文
  • 在主类中实例化其他的实例对象,list是主类的成员方法,通过构造方法传入一个ArrayList的参数List,被调用类为什么能改变主类的List?传参进去不就是另一个list了吗,调用类的list给他加入元素为啥主类的list同时也...

    在主类中实例化其他的实例对象,list是主类的成员方法,通过构造方法传入一个ArrayList的参数List,被调用类为什么能改变主类的List?传参进去不就是另一个list了吗,调用类的list给他加入元素为啥主类的list同时也添加?我之前一直不理解,后来想想就想通了,因为list是个引用数据类型啊,引用数据类型是通过确定参数的地址来获取值得,主类的list和调用类的list实际上是指向同一个地址所以调用类的list改变当然能引起主类list的改变啦。就和C语言的传址调用函数是一个道理

     ,传址调用就是把参数真实地参与函数过程,通过函数改变传入参数的值。
    这是详细代码
    被调用类ModifyStudentView.java

    package a;

    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectOutputStream;
    import java.util.List;

    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;

    public class ModifyStudentView {
    JTextField nameText;
    JTextField sexText;
    JTextField ageText;
    List<Student> list;
    JFrame frame;
    int a;
    File file = new File("C:/Users/cxjaq/Desktop/stu.txt");
    StudentTableModel model;

    public ModifyStudentView(List<Student> list, StudentTableModel model,int a) {
    this.list = list;
    this.model = model;
    this.a=a;
    }

    public void init() {

    frame = new JFrame();
    frame.setSize(300, 400);
    frame.setLocationRelativeTo(null);
    frame.setTitle("修改学生");

    JPanel mainPanel = (JPanel) frame.getContentPane();
    BoxLayout boxLayout = new BoxLayout(mainPanel, BoxLayout.Y_AXIS);
    mainPanel.setLayout(boxLayout);

    JPanel panel1 = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 10));
    JPanel panel2 = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 10));
    JPanel panel3 = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 10));
    JPanel panel4 = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 10));

    mainPanel.add(panel1);
    mainPanel.add(panel2);
    mainPanel.add(panel3);
    mainPanel.add(panel4);
    // 姓名
    JLabel nameLabel = new JLabel();
    nameLabel.setText("姓名");
    panel1.add(nameLabel);

    nameText = new JTextField();
    nameText.setPreferredSize(new Dimension(120, 30));
    nameText.setText(list.get(a).getName());

    panel1.add(nameText);
    // 性别
    JLabel sexLabel = new JLabel();
    sexLabel.setText("性别");
    panel2.add(sexLabel);

    sexText = new JTextField();
    sexText.setPreferredSize(new Dimension(120, 30));
    sexText.setText(list.get(a).getSex());
    panel2.add(sexText);
    //年龄
    JLabel ageLabel = new JLabel();
    ageLabel.setText("年龄");
    panel3.add(ageLabel);

    ageText = new JTextField();
    ageText.setPreferredSize(new Dimension(120, 30));
    ageText.setText(String.valueOf(list.get(a).getAge()));
    panel3.add(ageText);



    JButton saveBtn = new JButton();
    saveBtn.setText("保存");
    saveBtn.setPreferredSize(new Dimension(90, 30));
    panel4.add(saveBtn);
    saveBtn.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
    String name = nameText.getText();
    String sex = sexText.getText();
    int age = Integer.parseInt(ageText.getText());
    list.get(a).setName(name);
    list.get(a).setSex(sex);
    list.get(a).setAge(age);
    frame.dispose();
    save();
    model.fireTableDataChanged();
    JOptionPane.showMessageDialog(null, "修改成功","标题",JOptionPane.WARNING_MESSAGE);
    }
    });
    frame.setVisible(true);

    }

    public void save() {
    try {
    FileOutputStream fos = new FileOutputStream(file);
    ObjectOutputStream oos = new ObjectOutputStream(fos);
    oos.writeObject(list);
    oos.close();
    fos.close();
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

     

     

     

    主类Student.java

    List<Student> list = new ArrayList<Student>();

    File file = new File("C:/Users/cxjaq/Desktop/stu.txt");
    StudentTableModel model;
    JTextField nameText;
    JTextField sexText;
    JTextField ageText;
    int a=1;

    JTable table ;
    String name;
    String sex;
    String age;

    JButton modifyBtn = new JButton();
    modifyBtn.setText("修改");
    modifyBtn.setPreferredSize(new Dimension(90, 30));
    panel3.add(modifyBtn);

    modifyBtn.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
    // a=table.getSelectedRow();
    // ModifyStudentView msv = new ModifyStudentView(list, model,a);
    // msv.init();
    try {
    a=table.getSelectedRow();
    ModifyStudentView msv = new ModifyStudentView(list, model,a);
    msv.init();
    } catch (ArrayIndexOutOfBoundsException e2) {
    // TODO: handle exception
    JOptionPane.showMessageDialog(null, "请选中修改项","标题",JOptionPane.WARNING_MESSAGE);
    }
    }
    });

    转载于:https://www.cnblogs.com/cxj123/p/7297551.html

    展开全文
  • 在这里我们要注意的是set方法一般无返回值但是有参数(参数来自调用ser方法的),get方法有返回值但无参数,主要用于向主类中传递private修饰的数据,而我们则需要在主类中调用set和get方法 第二种就是通过new一个...

    //主类
    在这里插入图片描述
    在这里插入图片描述
    以上是第一种调用方法,通过Person类中的set()方法和get()方法设置并获取,在这里我们要注意的是set方法一般无返回值但是有参数(参数来自调用ser方法的类),get方法有返回值但无参数,主要用于向主类中传递private修饰的数据,而我们则需要在主类中调用set和get方法

    第二种:
    通过构造方法传参再通过get方法获取数据,具体代码如下,原理与第一种基本相同
    在这里插入图片描述
    在这里插入图片描述
    个人学习笔记,不喜勿喷

    展开全文
  • 第七次作业

    2019-09-30 18:29:42
    一 题目1 在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和.../**在主类中调用其他类的柱体体积方法求柱体体积*/ import java.util.*; public cla...
  • 引言:今后不管是学习还是...方便调用,或者作为未来写其他方法主类。 该方法遵从以下几点: (1) 私有字段保护 在类中的字段不可以被外部更改,以确保的完整性,需要外部访问的字段开放一个外部获取...
  • 今天学习时法现一个问题,我们定义了一个Test在主类中new了一个他的对象,发现:在新建对象中所有的成员变量是先给定了默认初值的:0,null或者false, 之后再调用的构造函数。(如果变量是由其他函数或者...
  • java,main()方法是java应用程序的入口方法,也就是说,程序运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void类型的...
  • 直接运行的文件,可以其中引入其他的自定义文件,需要id为album-art的div修改曲目(配图、元素id与albumArtworks一致) 博客&文章 博客地址:小山猪的沙塔 文章地址:程序员如何用“心“表白
  • 回调函数就是一个通过函数指针... 下面简单介绍一下,主类的函数接受其他类的线程回调(表述的有点不清,还是看代码吧) 头文件 //MyFun.h文件 #include <stdlib.h> #include <windows.h> #pragma ...
  • 加载机制

    2020-05-27 22:04:57
    主类在运行过程如果使用到其他,会逐步去加载这些1。 从加载到使用整个过程有如下几步 加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载 加载:硬盘上...
  • 使用Axis2的wsdl2java生成wsdl代理的方法,网上极多,不再赘述! 这里解决一个问题:  用命令 wsdl2java.bat -uri http://*.*.*.*:8080/*/...默认情况下,你所提供的主类中其他一些被调用(称为绑定)都会
  • 构造方法setter getter

    2020-10-29 09:09:41
    当你在一个类中构造了setter getter方法,并且在主类中用setter方法将其赋值以后,需要在其他类中去调用时,不可以再将对象实例化,与主类存储空间不同,得不到主类中所赋的值。可以在其他类的方法中,后面括号加入...
  • 它读取字段,方法和其他类数据以模板填充变量。 JavaForger包括通用Java代码的默认模板,例如equals,hashCode,innerBuilders和针对它们的单元测试。 可以为特定于项目的重复代码创建自定义模板。 JavaForger...
  • 12.使用配置

    2020-01-04 16:04:01
    实际开发,如果我们不使用main方法来调用,我们可能通过其他的方法来调用player.play(),可能通过Controller、微信端、安卓端、ios端或直接通过web浏览器调用,如果没有主方法ComponetScan会没有地方放置,应用...
  • java 策略模式

    2017-07-20 21:22:00
    策略模式通过使用组合代替继承的方法将不同的算法族整理成在主类之外的其他类,并在主类中添加算法族的对象,达到了一种组合的效果,这种方法使得主类与算法族耦合性降低,主类的方法只需要调用算法族对象中固定的...
  • C++程序使用QML

    2011-12-21 08:25:39
    1.这里主要是介绍,如何c++中调用QML中的函数和设置QML中的属性的问题 2.具体代码 // UICtest.qml import Qt 4.7 Rectangle { id: mainWidget; width: 640 height: 480 function callbyc(v) { mainWidget...
  • Java static的详解

    2019-11-19 22:35:33
    大家都知道Java的核心是面向对象,可是进行方法调用的时候,我们都必须对该进行实例化,也就是创建的对象,然后通过对象名进行调用成员方法和成员变量以及其他的需求。这其中大家应该会发现一个关于static...
  • java语法基础

    千次阅读 2018-03-10 18:44:05
    Java程序一般有两种。一种是application,他是运行Java虚拟机上的程序,另一种是applet运行于支持Java语言的浏览器中。对于application个程序来说,每个项目有且...Java中是主方法中调用其它Javac编译之后...
  • JDK1.5新特性——静态导入 随后如果按照正常的编写思路,需要在其他类中使用import语句导入程序包,而后利用程序包进行调用。 范例:传统结构 ...利用静态导入就好比add方法是定义在主类中一样。 ...
  • (3) 如果构造方法为private,那么在其他类中不能创建该类的对象。 5、 抽象类 (1) 抽象类不能创建对象。 (2) 如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类。 (3) 继承抽象类的类必须...
  • unity与android通信

    2016-09-23 15:40:41
    当我们做unity开发的时候经常需要一些其他的功能,这时候就需要与android进行通信,那么如何与android进行通信呢?...然后新建一个主类继承UnityPlayerActivity其中写方法供unity调用。然后对mo
  • java联想(中文)

    2008-12-29 21:07:11
    2.8.4 @see:引用其他类 2.8.5 类文档标记 2.8.6 变量文档标记 2.8.7 方法文档标记 2.8.8 文档示例 2.9 编码样式 2.10 总结 2.11 练习 第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术...
  • 2.8.4 @see:引用其他类 2.8.5 类文档标记 2.8.6 变量文档标记 2.8.7 方法文档标记 2.8.8 文档示例 2.9 编码样式 2.10 总结 2.11 练习 第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术...
  • 2.8.4 @see:引用其他类 2.8.5 类文档标记 2.8.6 变量文档标记 2.8.7 方法文档标记 2.8.8 文档示例 2.9 编码样式 2.10 总结 2.11 练习 第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术...
  • 14、反射(reflect)

    2018-02-08 11:31:00
    反射可以看到其他类中的内部构造,透明,但是不安全。  JAR:JAVA函数库  WAR:web发布的包  YAR:RPC服务 二、idea打jar  首先将需要当jar包的类全都public,然后点击右上角的图标,Artifacts栏选中一...
  • Java并发结构

    2020-11-29 10:10:36
    每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程。在Java虚拟机初始化过程也可能启动其他的后台线程。这种线程的数目和种类因JVM的实现而异。然而所有用户级线程都是显式被...
  • 此外,还有另外两个HL7Validation和MainHL7Validation,它们实现了一个实例化并调用另一个的主类,该主类使用了与ORU_R01 HL7触发事件相关的更具体的HAPI库。 HL7或Health Level-7是指各种医疗保健提供者...
  • IOC与DI都是为了降低之间的耦合度。...形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要在其他引入接口,就像电脑上的usb接口。 我们...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

在主类中调用其他类