java学习总结(类与对象)

 我已经去蓝杰上了四次课了。
1、第一节学的是Java基础入门,其中有Java开发环境配置,Jdk的安装以及环境变量的设置,还有java的基本数据类型。数据类型有值类型和应用类型,值类型有:int、byte、float、double、long、boolen。
2、第二节学了类与对象。掌握了什么是类以及类的实例化。最初写的是很简单的类,从练习中慢慢熟悉了定义类的格式。如:写一个学生类

public class Student{

 //定义私有的姓名属性
 private String name;
 //定义私有的年龄属性
 private int age;
 //写一个公共的给姓名属性赋值的方法
 public void setName(name){
 this.name = name;
 }
 //写一个公共的给年龄属性赋值的方法
 public void setAge(int age){
 
 this.age = age;
 }
 //一个获取姓名的方法
 public String getName(){
 return name;
 }
 //一个获取年龄值的方法
 public int getAge(){
 return age;
 }
}

 重新再写一个Manager类,其中含有主函数main,这是程序运行的入口。

public class Manager{
 //主函数
 public static void main(String[] args){
 
 //用Student类实例化对象st
 Student st = new Student();//Student()也就是构造器的调用
 //对象st调用setName()方法给对象的名字属性赋值
 st.setName("张三");
 //对象st调用setAge()方法给对象的年龄属性赋值
 st.setAge(20);
 //对象st调用getName()方法返回名字属性的值
 st.getName();
 //象st调用getAge()方法返回年龄属性的值
 st.getAge();
 }
}

 3、第三节讲的是登陆界面开发。这一节主要是学了构造器、方法的重载、this关键字以及值传递与应用传递。最后做了一个简单的界面程序。
 (1)构造器的格式:构造方法的名字与类名完全相同并且没有返回值。
如果重写了一个有参数的构造器,那么默认的无参构造器就不能被调用,除非在类定义中显示申明。

public class Student{

 //定义私有的姓名属性
 private String name;
 //定义私有的年龄属性
 //定义一个无参数构造函数
 public Student(){}
 //定义一个带一个参数的构造器
 public Student(String name){
 this.name = name;
 }
 //写一个公共的给姓名属性赋值的方法
 public void setName(name){
 this.name = name;
 }
 //一个获取姓名的方法
 public String getName(){
 return name;
 }  
}

  (2)方法的重载格式:两个方法的名字相同,但是它们的参数个数或者参数类型不同。
例如:

public void play(){
 System.out.println(name+"正在玩!");
}
public void play(int i){
 System.out.println(name+"是第"+i+"次玩了!");
}

 以上就是方法的重载,它们的参数个数不同。调用play方法时根据传的参数值的类型选择符合的方法实现。
 (3)this关键字有两个重要作用:
 1.代表本对象,如this.name表示本对象的name属性
 2.this可以调用类中其他的构造器,如:
 

public class Student{
  //定义一个无参构造函数
  public Student(){
  this("张三");//调用参数匹配的构造器实例化对象,此代码必须在第一行
  }
  public Student(String name){
   this.name = name;
  }
  private String name;  
 }

  (4)值传递传递的是参数的具体值,引用传递传递的是引用地址。
八种基本类型以及String型的都是值传递,类实例化的对象传递是引用传递。
 
 (5)尝试了做窗口界面程序。
 知道了JFrame是属于容器类组件,它可以使用add(Component comp)添加一些元素组件,如JButton、JLabel等。一下是一段简单的窗体程序:

public class JFrameTest{

 public static void main(String[] args){
 
 //实例化对象
 JFrameTest jt = new JFrameTest();
 //调用showUI方法
 jt.showUI();
 }

 public void showUI(){
  
 //创建一个窗体
 javax.swing.JFrame jf = new javax.swing.JFrame();
 //设置窗体的标题
 jf.setTitle("登陆界面");
 //设置窗体的大小
 jf.setSize(250,200);
 //设置窗体不可改变大小
 jf.setResizable(false);
 //创建流式布局对象
 java.awt.FlowLayout fl = new java.awt.FlowLayout();
 //设置窗体的布局为流式布局
 jf.setLayout(fl);
 //创建一个文本框
 javax.swing.JTextField txt = new javax.swing.JTextField(20);
 //把文本框对象添加到窗体中 
 jf.add(btn);
 //创建一个按钮
 javax.swing.JButton btn = new javax.swing.JButton("登陆");
 //把按钮对象添加到窗体中
 jf.add(btn);
 //设置关闭窗体的时候退出程序
 jf.setDefaultCloseOperation(3);
 //设置窗体可见
 jf.setVisible(true); 
 }
}

你可能感兴趣的:(java,jdk,swing)