如何一次性创建多个对象?

林昭希 2011-10-09 06:42:50
1.如何一次性的创建多个对象?并且输出?是不是要用for循环?还是for each遍历?或者是其他方法?
2.对象数组是怎么用的呢?你能不能详细介绍一下啊?最好详细点,越详细越好!请大神们不惜赐教,谢谢了!
...全文
940 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
林昭希 2011-10-16
  • 打赏
  • 举报
回复
好吧。。。
  • 打赏
  • 举报
回复
楼主是不是刚学Java啊?楼主问的都是基础知识了,楼主可以自己去查查super关键词
其他的问题嘛,多打打代码慢慢就会明白的,我也是初学者,加油
林昭希 2011-10-16
  • 打赏
  • 举报
回复
public B(){
super("qq2010");
this.setLayout(bb);

这两句话是什么意思呢?
林昭希 2011-10-16
  • 打赏
  • 举报
回复
请问我该怎样避免
Exception in thread "main" java.lang.NullPointerException
at hanshunpingstudy.qqFace.<init>(qqFace.java:52)
at hanshunpingstudy.qqFace.main(qqFace.java:61)

之内的错误呢?
尤其是那一个NULLpointerExceoption的错误?
  • 打赏
  • 举报
回复
首先指出一点,你上面的程序有一个错误:
一个版面布局形式不能同时设置成多种,上面你把版面设置成了三种形式,肯定不行,要么设置成FlowLayout
要么是BorderLayout要么是GridLayout
  • 打赏
  • 举报
回复

import java.awt.*;
import javax.swing.*;

public class B extends JFrame{
private JTextField jt1;
private JLabel jl1,jl2,jl3;
private JPasswordField mima;
private JButton jb1,jb2;
private JPanel jp1=new JPanel();
private JPanel jp2=new JPanel();
private JPanel jp3=new JPanel();
private BorderLayout bb=new BorderLayout();
public B(){
super("qq2010");
this.setLayout(bb);
jl1=new JLabel("用户名:");
jl2=new JLabel("密码:");
mima=new JPasswordField (10);
jt1=new JTextField(10);

jb1=new JButton("注册");
jb2=new JButton("登陆");

jp1.add(jl1);
jp1.add(jt1);
jp1.add(jl2);
jp1.add(mima);
jp2.add(jb1);
jp2.add(jb2);

jl3=new JLabel("img");

add(jl3,BorderLayout.NORTH);
add(jp1,BorderLayout.CENTER);
add(jp2,BorderLayout.SOUTH);

this.setSize(200,200);
this.setVisible(true);
}
public static void main(String[] args){
B b=new B();
b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

简单的写写
林昭希 2011-10-15
  • 打赏
  • 举报
回复
谢谢各位大神,帮忙指导一下,感激不尽,此问题完结之后,立马结贴,必有加分!!!谢谢各位大神了!
谢谢各位大神,帮忙指导一下,感激不尽,此问题完结之后,立马结贴,必有加分!!!谢谢各位大神了!
谢谢各位大神,帮忙指导一下,感激不尽,此问题完结之后,立马结贴,必有加分!!!谢谢各位大神了!
林昭希 2011-10-15
  • 打赏
  • 举报
回复
package project;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class dengLuKuang extends JFrame {
JFrame frame;
JPanel panel1, panel2, panel3;
JLabel jlable1, jlable2, jlable3;
JTextField jTextField;
JPasswordField jPasswordField;
JCheckBox jCheckBox1, jCheckBox2;
JButton jbutton1, jbutton2, jbutton3;

public dengLuKuang() {
frame = new JFrame();
jlable1 = new JLabel("QQ2011");
jlable1 = new JLabel("用户名:");
jlable1 = new JLabel("密 码:");
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
jTextField = new JTextField("请输入文字!");
jPasswordField = new JPasswordField("请输入密码!");
jCheckBox1 = new JCheckBox("输入内容");
jCheckBox2 = new JCheckBox("输入内容");
jbutton1 = new JButton("账号");
jbutton2 = new JButton("设置");
jbutton3 = new JButton("登录");
setAlwaysOnTop(isAlwaysOnTop());
setLayout(new GridLayout(3, 1));
this.add(panel1, BorderLayout.NORTH);
panel1.setBounds(200, 200, 200, 200);
panel1.add(jbutton1);
panel1.add(jlable1, FlowLayout.LEFT);
this.add(panel2, BorderLayout.CENTER);!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
this.add(panel3, BorderLayout.SOUTH);
panel2.add(jlable2, FlowLayout.LEFT);
panel2.add(jTextField, FlowLayout.RIGHT);
panel2.add(jlable3, FlowLayout.LEFT);
panel2.add(jPasswordField, FlowLayout.RIGHT);
panel3.add(jbutton1, FlowLayout.LEFT);
panel3.add(jbutton2, FlowLayout.CENTER);
panel3.add(jbutton3, FlowLayout.RIGHT);
this.setSize(100, 100);
this.setLocation(200, 200);
this.setBounds(100, 100, 200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public static void main(String[] args) {
dengLuKuang mc = new dengLuKuang();

}

}




为什么在我的这段代码里面会报错?
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1041)
at java.awt.Container.add(Container.java:408)
at project.dengLuKuang.<init>(dengLuKuang.java:47)
at project.dengLuKuang.main(dengLuKuang.java:62)

而在我标感情号的地方此处用this代替了jFrame就是可以的?而在上一段代码中是会报错的呢?

林昭希 2011-10-15
  • 打赏
  • 举报
回复
public class xuanZeKuang {
JFrame jFrame;
JPanel jPanel1, jPanel2, jPanel3;
JLabel jLabel1, jLabel2;
JCheckBox jCheckBox1, jCheckBox2, jCheckBox3;
JRadioButton jRadioButton1, jRadioButton2;
JButton jButton1, jButton2;

public xuanZeKuang() {
jFrame = new JFrame();
jPanel1 = new JPanel();
jPanel2 = new JPanel();
jPanel3 = new JPanel();
jLabel1 = new JLabel("你喜欢的运动:");
jLabel2 = new JLabel("你的性别:");
jCheckBox1 = new JCheckBox("足球");
jCheckBox2 = new JCheckBox("篮球");
jCheckBox3 = new JCheckBox("网球");
jRadioButton1 = new JRadioButton("男生");
jRadioButton2 = new JRadioButton("女生");
jButton1 = new JButton("创建用户");
jButton2 = new JButton("注销用户");
jFrame.setLayout(new GridLayout(3, 1));!!!!!!!!
jFrame.add(jPanel1);
jFrame.add(jPanel2);
jFrame.add(jPanel3);
jPanel1.add(jLabel1);
jPanel2.add(jLabel2);
jPanel1.add(jCheckBox1);
jPanel1.add(jCheckBox2);
jPanel1.add(jCheckBox3);
jPanel2.add(jRadioButton1);
jPanel2.add(jRadioButton2);
jPanel3.add(jButton1);
jPanel3.add(jButton2);
ButtonGroup aButtons = new ButtonGroup();
aButtons.add(jRadioButton1);
aButtons.add(jRadioButton2);
this.setSize(300, 150);
jFrame.setBounds(100, 200, 300, 150);
jFrame.setBackground(Color.green);
JFrame.setDefaultLookAndFeelDecorated(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}

public static void main(String[] args) {
xuanZeKuang xuanZeKuang = new xuanZeKuang();
}



为什么在我标感情号的那一行,用this替换jFrame会报错?怎么修改?而在接下来的梯子里面没有错误?
林昭希 2011-10-15
  • 打赏
  • 举报
回复
GridLayout是我想要的布局方式,怎么改啊?做的界面就像QQ登录框一样的哪一种。
绿领巾童鞋 2011-10-11
  • 打赏
  • 举报
回复
容易拉,复制粘贴,好了!
林昭希 2011-10-11
  • 打赏
  • 举报
回复
.........好吧。。。。。。。。。。
oO临时工Oo 2011-10-10
  • 打赏
  • 举报
回复
String str = new String();
这就会创建多个对象,因为除了new String(),还要new Object();

Object是String的父类
txtdown0909 2011-10-09
  • 打赏
  • 举报
回复
一般的数组里面存放的是基本数据类型,比如:int[] i=new int[5];
对象数组就是数组里面的每个元素都是对象,比如:Int[] i=new Int[5];
其实没啥区别吧?
txtdown0909 2011-10-09
  • 打赏
  • 举报
回复
//申明一个能够存放5个String对象的引用
String[] strs=new String[5];
//将对象数组初始化
for (int i = 0; i < strs.length; i++) {
strs[i]="1";
}
//输出(因为foreach只用于遍历查看,因此数组初始化时不能使用foreach)
for (String string : strs) {
System.out.println(string);
}
林昭希 2011-10-09
  • 打赏
  • 举报
回复
能不能来一段代码看看?
孟祥月 2011-10-09
  • 打赏
  • 举报
回复
一次创建多个对象,我目前只会用for输出你可以用for和for each 如果用的是容器存储的话 那可以使用迭代器
对象数组的使用,你如果会使用对象的话,对于对象数组中的对象就是对象的名字是用数组名和下标表示,其他和使用普通数组的都一样,但是对象数组也同样多了一些操做,例如排序等
建议楼主好好的看看java内存机制会对你有帮助的

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧