java基础知识

来源:互联网 发布:linux查看所有服务状态 编辑:程序博客网 时间:2024/06/01 09:11

1、数组声明中不写元素个数。

2、数组必须分配内存后才能使用(利用new来为数组型变量分配内存空间)。

3、用数组的属性length可得数组的长度,如a.length

4、构造方法是一个特殊的成员方法。它是对象被创建时初始对象的方法。即用来构建对象的方法。

      构造函数是一种特殊的方法,主要用来在创建对象时初始化对象 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数,可 根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

      I)它必须与类名完全一样。II)没有返回类型。III)如省略,java会自动调用默认的构造方法,即无参的构造方法。IV)一般做初始化成员数据的工作。

构造方法:没有返回值(连void也没有),与类名同名成员方法:必须有返回值,空返回就是void对象的创建就是通过构造方法完成的。每当实例化一个对象时,类都会自动调用构造方法。

5、this的使用:

在构造方法中的使用:本类构造方法的相互调用

public classs A{

  A(){

  this(10,20);

  //code

  }

  A(int x,int y){

  //code

  }

}


在成员方法中的使用:成员数据与局部变量重名时使用
public classs A{
    int x;
    int y;
    A(){
        this(10,20);
        //code
    }
    A(int x,int y){
         this.x=x;
         this.y=y;
    }
}

6、对象的生命周期与垃圾收集器
使用new关键字调用构建函数,对象即刻产生。
如果没有任何引用指向该对象时,对象可能会被垃圾收集器回收掉。
当垃圾收集器回收对象时,先调用finalize()方法,此时对象生命结束。

7、System.gc() 通知垃圾回收器:Sysytem.gc()只是告诉JVM垃圾回收,但是至于JVM是否会回收是没办法控制的。所以调用不调用gc对系统来说没有太大的影响。

8、继承和重写:

Java当中,Java的所有类都有是直接或间接地继承Object类。被继承的类称为父类,继承而得到的类称为子类。

当子类的成员(数据/方法)与父类的同名(参数完全一样)时,子类的成员会隐藏父类的成员变量/成员方法,即发生了重写。

注意:子类继承父类后可访问父类中公共类型和保护类型的成员变量或方法,不能访问被声明为私有类型的成员变量或方法。

当在子类中定义了一个与父类完全一样的数据成员,在子类中将隐藏这个父类成员,即在子类中缺省将不能访问这个父类成员。


9super关键字的使用
I)    解决隐藏与重写:子类在隐藏父类的成员变量或重写了父类的方法以后,有时要访问被重写的方法或隐藏的成员,Java提供super关键字来实现对父类的访问。
II)显示调用父类构造方法。

10、java的三特性:多态性、封装性、继承性
多态性:静态多态性(编译时多态):即用相同的方法名定义不同的方法内容。编译时根据它们的特征来进行编译。即:方法重载。
                动态多态性(运行时多态):一种在运行时调用重写方法的机制。子类对象可以作为父类对象使用,这是因为子类通过继承具备了父类的所有属性。

11、方法重载:类中有多个具有相同名称的方法,方法具有不同的参数列表。
方法重写:子类和父类的方法具有相同的名称和类型,用子类对象调用子类中的重写方法。super.methodname()用于调用父类中的方法。


12、
abstract关键字修饰不能在类内实现的方法,这样的方法称为抽象方法,含有抽象方法的类必须声明为abstract,这样的类叫抽象类。
抽象类中不一定包含抽象方法,但包含抽象方法的类一定要声明为抽象类
抽象类本身不具备实际的功能,只能够用于派生时重载。
如果一个类被定义为抽象类,则该类不能进行实例化,必须通过重载的方式来实现抽象类中的方法。

13、接口是一种更纯的抽象类,它是方法定义和常量值的集合,java通过接口使得处于不同层次甚至不相关的类可以拥有相同的行为。
一个接口只有方法的特征没有方法的实现。
I)   接口定义

格式:[public]interface接口名 [extends父接口]{ 接口体;}

接口体包含常量定义和方法定义,接口的变量是自动是publicstatic final属性,接口中的方法自动是publicabstract属性,并没有方法体,以分号结尾。

II)接口实现

格式:[修饰符]class  类名 [extends 父类] [implements接口]{

  必须实现接口的所有方法;}

在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用逗号“,”分隔。

14、static修饰的成员方法和成员数据分别叫做静态方法和静态数据。
修饰目的:使该方法或数据独立于类的实例,使用类去访问,而不是类实例,所以也叫全局方法和数据。
规则:可以调用其他静态方法,必须访问静态数据,不能使用super或this关键字。
静态数据应使用className.methodName()或者className.fieldName的方式访问。
对于静态数据,除了能在定义它的类内存取,还能直接以“类名.静态数据”的方式在其他类内使用。

15、final 修饰的类不能被继承,修饰的变量不能被修改,修饰的成员方法不能被重写。

16、

A类为B类服务时,为不让外界直接访问到A类,因此可把这个A类定义在B类的内部,变为内部类。

成员内部类内不允许有任何静态声明,而能够访问成员内部类的唯一途径就是通过外部类的对象!内部类可直接使用外部类的成员

17、访问修饰符:

类:public  可以跨包使用
        缺省    
只允许在包中使用
成员:public              该类或非该类均可访问  
            protected        该类及其子类的成员可以访问,同一个包中的类也可访问
            缺省                 相同数据包中的类可以访问
            private             只有该类可以访问

18、try:要监控的程序语句包含在此块中

catch:以合理的方式捕获和处理异常

finally:释放资源等

throw:手动引发异常   throws:指定由方法引发的异常

19、一段代码可能会生成多个异常当引发异常时,会按顺序来查看每个catch语句,并执行第一个类型与异常类型匹配的语句执行其中的一条catch语句之后,

其他的catch语句将被忽略使用多重catch语句时,异常子类一定要位于异常父类之前

20、数据类型

     原始数据类型           包装类

     byte(字节)             Byte

     char(字符)            Character

     int(整型)                Integer

     long(长整型)         Long

     float(浮点型)         Float

     double(双精度)    Double

     boolean(布尔)     Boolean

     short(短整型)       Short

21、Java.lang包中的String类中的静态函数把各种类型的数值转换成字符串:String.valueOf()

各包装类中的静态函数把各种类型的对象转换成字符串:toString()

Java.lang包中的String类中的静态函数把字符串转换成相应类型的数值:

转换为整型:Integer.parseInt(String s)

转换为长整型:Long.parseInt(String s)

转换为浮点型:Float.parseFloat(String s)或Float.valueOf(String s).floatValue()

转换为双精型:Double.valueOf(String s).doubleValue()

22、框架:应用程序框架:JFrame;小应用程序框架:JApplet;对话框框架:JDialog

        容器:容器之间可以相互添加

        框架对象.getContentPane()     例:this.getContentPane().add(panel);

        小容器:JPanel;带滚动条容器:JScrollPane;带标签容器:JTabbedPane;带分隔条容器:JSplitPane

        基本GUI组件:JButton、JRadioButton、JToggleButton、JCheckBox、JLabel、JTextField、JTextArea

        复杂GUI组件:JSpinner、JSlider、JProgressBar、JScrollBar、JTree、JTable

23、Font 类只有一个构造函数:public Font(String name,intstyle,intpointsize)

参数name表示字体的名称。

参数style表示样式可以是Font.PLAIN Font.BOLDFont.ITALIC。

参数pointsize表示字体的点数,即以磅为单位的字体大小,可以是11121416

24、java.awt.Color类提供了13个可用作标准颜色的常量:

       black(黑色)             green(绿色)    

       red(红色)                 blue(蓝色)

       lightGray(浅灰色)   white(白色)  

       cyan(蓝绿色)          magenta(洋红色)      

       yellow(黄色)           darkGray(深灰色)

      orange(橙色)           gray(灰色) 

      pink(粉红色)

Color类的构造函数如下:
Color(intred,intgreen,intblue):使用三个分别代表红、绿、蓝的整数来表示它们混合的颜色。这些值必须在0255之间。
Color(floatred,floatgreen,floatblue):用三个浮点数指定红、绿、蓝的相对混合。

25、图形编程的基本实现步骤
1.导入swing包中的相关类
2.主类继承JFrame
3.声明一个JPanel成员
4.声明需要的其他的基本GUI组件
5.定义initGUI方法
6.定义showGUI方法

26、用户界面上的组件可以按不同方式排列。

Java使用布局管理器来管理这些排列方式。
每当需要重新调整屏幕大小或重新绘制屏幕上任一项目时,就要用到布局管理器。
AWT提供一组用来进行布局管理的类,称为布局管理器或布局。所有布局都实现LayoutManager接口。
Java中的布局类型包括以下几种:
FlowLayout(流式布局)、BorderLayout(方位布局)、GridLayout(网格布局)、GridBagLayout(网袋布局)、CardLayout(卡片布局)

27、java构造函数的继承问题

(1)子类只继承父类的默认(缺省)构造函数,即无形参构造函数。如果父类没有默认构造函数,那子类不能从父类继承到任何构造函数。
(2)子类从父类处继承来的父类默认构造函数,不能成为子类的默认构造函数。
(3)在创建对象时,先调用父类默认构造函数对对象进行初始化,然后调用子类自身自己定义的构造函数。
(4)如果子类想调用父类的非默认构造函数,则必须使用super来实现。
(5)子类必须调用父类的构造函数。可以通过系统自动调用父类的默认构造函数,如果父类没有默认构造函数时,子类构造函数必须通过super调用父类的构造函数。

28、String中的一些属性

split(String sign,int limit)        sign:分割字符串的分割符         limit:限制分割次数

lastIndexOf(substr)           如果lastIndexOf()方法中的参数是空字符串“”(注意没有空格),则返回的结果与调用该字符串length()方法的返回结果相同。

29、如果重复地对字符串String进行修改,将极大地增加系统开销。可用StringBuilder类(字符串生成器)取代String类的字符串对象,将大大提高频繁增加字符串的效率。

0 0
原创粉丝点击