Java学习小结

1.类与对象:
Java程序都是由一个个类组成的,类中可包含方法和属性;如类:
public class Student{
private String name;
public void study(){}
}
其中Student是类的名字,而name就是属性,是我们写程序时要用到的对象的特征; study是方法,也就是我们要对对象进行的操作。对象是类中具体的个体,由类产生的,如 Student s1=new Student(),就是通过类Student生成了对象s1,然后再对生成的对象进行操作,如s1.study(),表明对象s1进行了动作study。类和对象的关系就像人类和一个个具体的人之间的关系,类是抽象的,对象是具体的。


2.继承:
继承就是通过关键字extends将一个类与另外一个类连接起来,使得前面的一个类无须声明,它的对象就能使用他自己没有而后一个类包含的属性和方法,其中前面的一个类叫做子类,后面的一个叫做父类。如public class UNStudent extends Student{},结果UNStudent继承了Student,如果方法public void study(){}只存在于类Student中,而不存在于类UNStudent中,UNStudent中的对象也可以直接使用方法study。类的继承使得我们在处理很多具有相同方法的对象时省去了许多工作。


3.自动转型:
自动转型就是在继承中一个对象能够由父类转型为子类对象。就像一个人可以是工人、农民或商人,这样人的类型就转变成了工人类型或农民类型或商人类型。假如有一个学生类:
public class Student{},而一个大学生类继承了它:public UNStudnet extends Student{} 那么我们就可以使用语句:Student s1=new UNStudent() 这样就实现了由学生类向大学生类的转型。


4.构造器:
上面提到了通过Student s1=new Student()来生成对象s1,其中用到的Student()就是一个构造器,它是我们在定义类Student是系统默认的,我们可以通过这个默认的构造器来产生对象,同时我们也可以根据需要重新定义构造器方法,这就是构造器的重载。如:
public class Student{
private String name;
public Student(){}
public Student(String name){}
public static void main(String[] args)
{ Student st1=new Student();
String name="joe";
Student st2=new Student(name);
}
}
上面代码中有两个与类的名字相同的构造器,与类的名字相同也是构造器的特征之一,一般的方法是不能和类同名的,这两个构造器的传入参数却不同,前一个是无参构造器,后面一个是传入一个参数的构造器。而在后面的调用,会根据是否传入参数调用相应的构造器。


5.方法的重载和重写:
在一个类中可以有几个名字相同但是传入参数却不同的方法,这就是方法的重载。如:
public class Student{
public study(){}
public study(int x){}
}
类Student中有两个名字都为study的方法,但是传入的参数却是不同的,根据是否传入参数会调用不同的方法。而方法的重写则出现在继承中,子类对父类的方法进行修改,如在父类中有方法public void study()
{ System.out.println("a") ; } 那么在子类中可以将这个方法修改为public void study(){ System.out.println("b"); }


6.多态:
多态---顾名思义,就是有多种形态;对于一些不同的类,我们新写一个类,让这些不同的类继承这个新类,这样我们就可以在形式上统一使用父类了,而在具体的使用时则可以根据不同的条件选用不同子类。如:
class A
{
void print(){}
public static void main(String []args)
{
A[] a=new A[2];
a[0]=new B();
a[1]=new C();
}
}
class B extends A
{ }

class C extends A
{ }
父类A中有两个数组,我们可以根据数组的下标是0还是1来判断是使用类B还是使用类C;而在类B和类C可能出现的地方,我们都可以用类A代替了,这样就实现了类的统一,类A也就有了几种不同的功能,也就是说类A有了多种形态。


7.接口和抽象类:
接口用interface定义,如public interface JK{}就是一个接口。接口中也可以定义方法和属性。但是接口中的方法没有具体的实现,如public interface JK{ public void draw(); },接口JK中的方法draw没有给出具体的实现,它需要继承它的类或接口给出具体的实现,并且继承它的类或接口必须给出方法的具体实现,否则就是错误的。由于接口中没有具体实现的方法,所以接口不能用来创建对象。抽象类是介于类和接口之间,因为它即可以定义有方法的类也可以定义没有方法的类,它用关键字abstract定义。 如:public abstract class A{ public abstract void b(); public void c(){ System.out.println("c");} } 这个抽象类中即有没有实现的方法b,也有实现了的方法c。子类用关键字extends继承抽象类c时,必须要实现方法b。


8.常用的swing组件:
swing中包含着许多与编写窗口程序相关的类,有很多最常用的组件。如javax.swing.JFrame就是一个窗口的类,javax.swing.JButton是一个按钮的类,javax.swing.JLabel是一个标签的类,javax.swing.JTextField是一个能输入字符和数字的条形框,我们可以通过这些组件创建一个对象,例如:javax.swing.JFrame jf=new javax.swing.JFrame(); javax.swing.JButton jb=new javax.swing.JButton("登陆");jf.add(jb);这样我们就创建了一个窗口对象和一个按钮对象,并且把这个按钮对象加到了窗口上。


9.swing事件机制:
swing事件机制就是当用户点击鼠标或按下键盘时,swing界面上获到焦点的组件都会收到一个事件通知,这个事件通知是swing体系内部发出的,界面就会根据收到的事件通知,做出相应的处理。在swing中处理事件时,最重要的是学会使用事件监听器,常用的事件监听器有ActionListener和MouseListener。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值