java基础知识

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类。被继承的类称为父类,继承而得到的类称为子类。

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

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

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


9 super 关键字的使用
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( int red,int green,int blue) : 使用三个分别代表红、绿、蓝的整数来表示它们混合的颜色。这些值必须在 0 255 之间。
Color(float red,float green,float blue) :用三个浮点数指定红、绿、蓝的相对混合。

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值