杭州达内嵌入式培训火热招生中。。。|杭州达内c++培训火热招生中
您现在的位置: 杭州达内 >>JAVA>>java基础知识回顾
java基础知识回顾
杭州达内 - JAVA 来源:未知 发布时间:2016-10-08 15:59


在学习java基础的过程中,有一些知识是不能忽略的哦,虽然基础但还是要记住的呢。

(一)基本数据类型

1.标识符区分大小写:hello与Hello是不同的标识符。

2.基本数据类型的精度由低到高依次为:byte short char int long float double

3.格式控制符号:

%d int类型

%c char类型

%f 浮点类型

%s 字符类型

例如:

System.out.println("%d,%f",1,1.23)

4.数组的两种创建方式:

Object[] arry=new Object[n];

Object[] arry=new Object[]{x,y,z,..};

(二)表达式

1.switch case语句:case下加break或者加return都是可以的。

2.break与continue:break语句结束整个循环;continue结束当前循环,开始下一次循环。

(三)类与对象

1.多态:Java中多态分两种,重载(Overload)和重写(Override)。

重载:一个类中多个方法具有相同的名字,但方法的参数不同。

参数个数不同或者参数类型不同

返回类型与参数名称不参与比较

重写:子类重新(覆盖)父类的方法。

可以提高访问权限,不允许降低访问权限。

2.this关键字:this表示当前对象,在构造方法中代表该构造方法所创建的对象。

3.包与访问权限:

java.lang包:系统自动添加,所以你从来都看不到。(包括System、Math类等)

包访问权限:不是三大国民修饰符修饰的成员变量和方法被称为友好变量和友好方法,在同一包中可以自由访问。

4.反编译与文档生成器:

javap:将字节码反编译为源码。

javadoc:将注释生成html文档。

5.生成jar文件:在Eclipse下,选择File——Export——java——JAR FILE

(四)子类与继承

1.Object类:所有类都继承自Object类,“Class A”原型是“Calss A extends Object”。

2.继承:

当子类与父类不在同一个包中,子类只继承父类中protected和public访问权限的成员变量与方法

子类继承的方法只能操作子类继承和隐藏的成员变量。子类新定义的方法可以操作子类继承和子类新声明的成员变量,但无法直接操作子类隐藏的成员变量(要使用super)很多小伙伴都喜欢在网上找资料自学,遇到问题无法解答,即便是学会了也是一知半解 如果你真的想学习java你可以来这个群前面是四九一,中间是八九七后面是一五八这里有技术大牛亲自指导帮助你 还有免费的直播课程学习,只要你有一颗想学的心,不需要的就不要来了。

子类不继承父类的构造方法,因此子类在其构造方法中要使用super调用父类的构造方法。

当类中定义了一个或多个构造方法时,java不提供默认构造方法。因此父类中定义多个构造方法时,必须包括一个不带参数的构造方法。

(五)面向抽象编程

1.对象的向上转型:上转型对象不能操作子类新增的成员变量与方法

父类 f=new 子类();

2.Open-Closed Principle:系统应当对扩展开放,对修改关闭。(怎么办?面向抽象和接口啊!)

3.面向抽象编程:设计类时,不该让类面向具体的类,而是面向抽象类。

例子:

设计抽象类SIM,以便扩展具体的运营商

public abstract class SIM {

protected String number;

protected String type;

public abstract void setNumber(String number);

public abstract void setType();

public void show(){

System.out.println("类型:"+type+"号码"+number);

}

设计手机类,重点是在手机类中添加SIM抽象类,等待子类具体实现。

public class MobliePhone {private SIM sim;public void setSIM(SIM sim){ this.sim=sim;

}public void showMessage(){

sim.show();

}

实现两种类型的SIM卡,设为移动和联通。(Type类型可以在构造函数中实现)

public class yidong extends SIM{

@Override public void setNumber(String number) { this.number=number;

}

@Override public void setType() { this.type="联通";

}

主函数如下,若需要扩展SIM卡,只要继承SIM抽象类即可。如此设计即符合Java开闭原则。

public static void main(String[] args) {

MobliePhone mp=new MobliePhone();

SIM sim=new yidong();

sim.setNumber("123456789");

sim.setType();

mp.setSIM(sim);

mp.showMessage();

sim=new liantong();

sim.setNumber("987654321");

sim.setType();

mp.setSIM(sim);

mp.showMessage();

}

(六)面向接口编程

1.接口:

接口中只有抽象方法和常量,抽象方法一定是public,常量一定是public static,你看不到是因为系统隐藏了。

类实现接口,若没有重写接口中的全部方法,这个类就是一个抽象类。

接口要求一些类具有相同名称的方法,但不强迫这些类具有相同的父类。

接口无法调用类中非接口方法。

(很关键)如果一个方法的参数是接口类型,就可以将实现该接口的类的实例的引用传递给该接口参数,这个接口参数就可以回调类实现的接口方法。

2.面向接口编程:核心思想是接口回调,与面向抽象编程有一定的相似性。

例子:

设计一个广告的接口。

public interface Advertisement {

void showMess();void showCompany();

}

设计Televison类用于播放广告,重点是设置接口的参数回调。

public class Televison {

Advertisement adv;public void setAdv(Advertisement adv){ this.adv=adv;

}public void advertise(){

adv.showCompany();

adv.showMess();

}

实现具体的广告类

public class naobaijin implements Advertisement{

@Override public void showMess() {

System.out.println("收礼只收脑白金");

}

@Override public void showCompany() {

System.out.println("白金集团");

}

主函数如下,若需要扩展广告,只要实现Advertisement接口即可。如此设计即符合Java开闭原则。

main(String[] args) {

Televison tv

三、结束的唠叨

遗忘是学习的一部分,就代码而言,几个星期不接触就会感到生疏,所以要时常去练习,俗话说:熟能生巧;不要认为自己会了就不用去做,基础的东西往往容易被别人忽略掉,所以要温故而知新!


相关标签:
 达内简介 达内就业 达内课程 联系我们 网站导航
杭州达内为上软件有限公司 Copyright @ 2007-2012 版权所有 苏ICP备10118953号-1
分享到: