长沙软件培训:Java基础知识总结(一)

Java本身知识点非常多,长沙软件培训在这里不做全面论述,仅做为一个引子,以增进理解和记忆,欢迎各位朋友与我进行探讨,共同进步。

Java基础知识总结(一)

1、 import关键字

(1)import语句必须定义在所有的class定义之前。

(2)import语句只是为编译器指明了一个路径,并不像C或C++中的#include,所以用import .*并不影响性能

2、Java中的类名与文件名

(1)、在一个java文件中可以有多于一个类定义(更常见于某些组件的监听器类),但只能有一个

public class定义,且与文件同名。

(2)、如果一个java源文件中没有public类,那么每个类的名字没特殊规则,即不必与文件同名。

(3)、在编译后产生的class文件中,仍旧是多个单独分开的class文件。

3、关于java类中的缺省的构造器

如果一个java类没有显式定义没有参数的构造器,将有一个默认缺省的构造器。如果定义了一个有参数

的构造器,那么原来的缺省的构造器将不在有效。

public class A{

}

此时如果用 new A(); java编译器将使用缺省的构造器。

public class A{

public A(int i){

}

}

如果此时用 new A(); 将产生一个编译错误,因为此时显式定义了,一个有参数的构造器。

4、java方法中的传递值参

在Java方法中传递参数,对于基本类型来讲传递的是值参数,相当于建立的一个参数的拷贝,不影响原来变量的值。

在引用方法中可以改变传递对象的内容,但对象引用(像[email protected])从来不会改变。

public class tt{

public static void main (String args[]){

A aa = new A();

aa.num =5;

tt t = new tt();

System.out.println("11 aa="+aa + "num="+aa.num);

t.test(aa);

System.out.println("22 aa="+aa + "num="+aa.num);

}

void test(A a){

A ab = new A();

a = ab;

System.out.println("33 ab="+ab + "num="+ab.num);

}

}

class A{

int num;

}

5、Java中的几个特殊关键字

Java中的关键字许多大家都比较熟悉,而有几个就不是很常用,如:

(1)、goto和const是保留关键字,在java中没使用

(2)、strictfp和volatile不常用; sizeof、zhen不是关键字。

(3)、true,false,null不是严格意义上的关键字,而是literals。

6、变量初始化

java中的变量在使用之前必须被初始化,当创建一个对象的时候一些类的变量会自动初始化并赋予缺省值。

数字类赋值0;char类型赋值‘\u0000‘; boolean类型赋值false;引用对象赋值null;

注意的是在方法之外的类变量的值是自动赋初始值,而方法内的局部变量必须手工初始化。

class AA{

int num;

void test(){

int j;

j =5;//没有这一行则编译不会通过。

j = j+num;

}

}

7、switch语句

这个点经常在求职笔试题目中出现。default放在最上边编译没问题;碰到符合分支的,如果没有break

会一直向下运行。

public class tt{

public static void main (String args[]){

tt t = new tt();

t.test(2);//可改变成3运行一下看一下结果

}

void test(int i){

switch (i){

default:

System.out.println("default");

case 1:

System.out.println("111");

break;

case 2:

System.out.println("222");

break;

}

}

}

8、类型转换校正

class Employee

class Manager

向上校正,总是允许的,Manager直接使用父类Employee的方法。

向下校正,必须用instanceof检验,才能将一个Employee转换为Manager对象。

public void test(Employee e){

if (e instanceof Manager){

Manager m = (Mnager)e;

...

}

}

9、关于java中的label使用

·  break [label]

·  continue[lbele]

·  lable: statement; //这里的statement必须是一个loop循环

public class tt{

public static void main (String args[]){

tt t = new tt();

t.test();

}

void test(){

System.out.println("0000");

lb1:for (int i=0;i<10;i++){

lb2:for (int j=0; j<2; j++){

if (i==2) continue lb1;

System.out.println("i="+i +" j="+j);

}

}

System.out.println("111111");

}

}

10、方法重载(overloading)、方法覆盖(overriding)

方法重载(overloading)一定要求名字相同,参数不同,返回类型可以相同也可以不同

class A{

void test(int i){

}

}

class AA extends A{

int test(int i, int j){

return 5;

}

}

注:方法覆盖(overriding)要求名字,参数,返回类型全部必须相同,访问控制符可以不同,但必须大过父类的。因为如果名字和参数都已经相同了则一定要求返回类型相同,否则认为这是一个新的方法了,名字就必须不同了。

class A{

void test(int i){

}

}

class AA extends A{

public void test(int i){//若是换成private则编译不通过。

}

}

注:关于覆盖方法抛出异常的问题。如A是父类,B是继承A的子类。B中的方法meth()去覆盖父类A的此方法时,B中不能throws出新的异常,只能是父类抛出的异常或其子集。更甚至可以不抛出异常。

文章整理自长沙软件培训http://www.cshope.net/

长沙软件培训:Java基础知识总结(一)

时间: 2024-08-03 15:38:21

长沙软件培训:Java基础知识总结(一)的相关文章

java基础知识(二)

1.关于static关键字总结: 1.不能在static修饰的方法中引用this变量,只能引用一些静态变量或方法,或new新的对象(可以定义局部变量). 简言之,静态方法或块中,只能引用静态的方法或变量. 2.类中的成员变量(static修饰)有缺省值,而类的定义的方法中的局部变量没有缺省值. 3.在类的构造器中,可以引用任何的静态或非静态的变量和方法,可以在非static方法中调用static方法. 4.static{}块中的代码在类装载中仅执行一次. 5.在7-7,A staticmetho

JAVA基础知识-java文化基础和运行环境

JAVA基础知识 1,java是95年sun公司推出的开发语言,发展很快,09年被oracle公司收购.至今分为SE.ME.EE三个发展方向和软件版本. 2,运行java的环境主要是通过JVM(java virtual machine)实现的.首先编写.java结尾的源文件,通过编译器编译成.class结尾的字节码文件,然后通过解释器实现在不同平台上一致运行的效果. 3,jvm,jre和jdk的区别:jvm,java虚拟机:jre,java运行环境,jdk:java开发工具包. 4,jdk的下载

Java基础知识的三十个经典问答

Java基础知识的三十个经典问答 1.面向对象的特点 抽象: 抽象是或略一个主题中与当前目标的无关的因素,一边充分考虑有关的内容.抽象并不能解决目标中所有的问题,只能选择其中的一部分,忽略其他的部分.抽象包含两个方面:一是过程抽象:一是数据抽象. 继承 继承是一种联接类的层次模型,允许和鼓励类的重用,提供了一种明确的共性的方法.对象的一个新类可以从现有的类中派生,这叫做类的继承.心累继承了原始类 的特性,新类称为原始类的派生类或者是子类,原始类称为新类的基类或者父类.子类可以从父类那里继承父类的

Java基础知识回顾之七 ----- 总结篇

前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数据类型 基本数据类型主要有: byte.short.int.long.float.double.char.boolean 它们可以分为三类: 数值类型:byte.short.int.long.float.double 字符类型:char 布尔型:boolean 其中byte是8位,short是16位

毕向东—Java基础知识总结(超级经典)

Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ------------------------------------------------------ 一:java概述: 19

Java基础知识总结(超级经典)

Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. —————————————————————————————————————————————————————— 一:java概述: 19

java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)

 *java多线程--等待唤醒机制:经典的体现"生产者和消费者模型 *对于此模型,应该明确以下几点: *1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产. *2.消费者仅仅在有产品的时候才能消费,仓空则等待. *3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产. *4.生产者在生产出可以消费的产品的时候,应该通知等待的消费者去消费. 下面先介绍个简单的生产者消费者例子:本例只适用于两个线程,一个线程生产,一个线程负责消费. 生产一个资源,就得消费一个资源. 代码如下: pub

java基础知识回顾之java Thread类学习(七)--java多线程通信等待唤醒机制(wait和notify,notifyAll)

1.wait和notify,notifyAll: wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中. wait()方法:对此对象调用wait方法导致本线程放弃对象锁,让线程处于冻结状态,进入等待线程的线程池当中.wait是指已经进入同步锁的线程,让自己暂时让出同步锁,以便使其他正在等待此锁的线程可以进入同步锁并运行,只有其它线程调用notify方

java基础知识回顾之java Thread类学习(六)--java多线程同步函数用的锁

1.验证同步函数使用的锁----普通方法使用的锁 思路:创建两个线程,同时操作同一个资源,还是用卖票的例子来验证.创建好两个线程t1,t2,t1线程走同步代码块操作tickets,t2,线程走同步函数封装的代码操作tickets,同步代码块中的锁我们可以指定.假设我们事先不知道同步函数用的是什么锁:如果在同步代码块中指定的某个锁(测试)和同步函数用的锁相同,就不会出现线程安全问题,如果锁不相同,就会发生线程安全问题. 看下面的代码:t1线程用的同步锁是obj,t2线程在操作同步函数的资源,假设不