导航:首页 > 编程语言 > 北京java兼职

北京java兼职

发布时间:2024-06-25 10:50:44

A. 给讲讲java接口的概念!

希望你仔细阅读。对初学者来说,接口不是很好理解。我教过的学生也都提出过这个问题。

我们来看一个类

class A {
private int a;
public int getA() {
return a;
}
}

这个类的属性是私有的,外界不能访问,而外界可以通过公有方法来访问这个类。我们说一个类的公有方法就是这个类的对外接口。通常

一个类的属性都是私有的,方法大多是公有的。外界只能过个这些公有方法来访问类。这也是Java封装性的体现。如果一个类没有公有属性,

也没有公有方法,这个类就是无法使用的类了。所以我们需要为一个类提供对外接口。
一个类中的方法,不只是说明了它要“做什么”,而且方法的内容也说明了“怎么做”。打个不太恰当的例子,一个杀人方法。从名字上

看,你知道了“做什么”,但没有办法看到“怎么做”。而方法的内容说明了“怎么做”。

class killer {
private String name;
private int age;
private String phone;
private String addr;

......

public void kill(Person p) {
Qiang qiang = new Qiang("ak47");
qiang.fire(p);
}
}

这个类的kill方法内容说明了杀人的过程。如果你不想用这种方式杀人。因为你很BT,你想用毒药杀人。那么这个类的内容就需要改。但

是,还有很多其它的“客户”,需要用不同的方式杀人。怎么办呢?一个很好的办法就是,我们只定义“做什么”,而不定义“怎么做”。

interface Killer {
public void kill(Person p);
}

接口说明了“做什么”,而实现这个接口的类,也就是实现类需要说明“怎么做”。

class Killer1 implements Killer {
public void kill(Person p) {
Qiang qiang = new Qiang("ak47");
qiang.fire(p);
}
}

class Killer2 implements Killer {
public void kill(Person p) {
Bane bane = new Bane();
p.eat(bane);
}
}

public class Test {
public static void main(String[] args) {
Killer jingKe = new Killer1();
Person yingZheng = new Person();
jingKe.kill(yingZheng);
}
}

接口可以把“做什么”和“怎么做”分离开来。这给Java带来了很多好处。虽然代码量增加了,可我们的程序的可维护性加强了。我们的程序是可以拆分的。就象电脑一样,可以拆分成很多组件。我一直在想,如果我的MP3耳机可以拆分就好了,那样在耳机只坏掉一个的时候就不用重新买一个了。
不过上面的例子看不到什么太大的好处。你可能会说,如果你

的目的是为了不修改代码,那么,如果我想使用Killer2来完成任务,还是需要修改main方法为:Killer jingKe = new Killer2();。没有错,

不过你可以通过一个工厂来完成上面的任务。也就是说,不通过new语句来获得Killer对象,而是通过工厂来获得Killer对象。

public class KillerFactory {
public static killer getKiller() {
return new Killer1();
}

public static Killer getKiller(String path) throws Exception {
Properties prop = new Properties();
prop.load(new FileInputStream(path));
String className = prop.getProperty("killer");
Class clazz = Class.forName(className);
return (Killer)clazz.newInstance();
}
}

代码确实增加了很多,可是这对后期的系统维修和系统升级带来了很多好处。

水龙头与出水管的关系,我们需要把水龙头安装到出水管上。如果有一天我们需要更换水龙头时,只需要把老的水龙头拆卸下来,把新的

水龙头安装到出水管上既可。如果水龙头与出水管是一体的,就是无法拆卸的怎么办呢?或是说出水管只能安装水龙头,而不能安装淋浴器,

这就使我们生活很不方便。我们可以理解为出水管的连接方法,连接的对象是“出水设备”,而这个“出水设备”是一个接口。而水龙头与淋

浴器都是这个接口的实现类。但是接口在哪里呢?它长什么样子?我们没看到。它是一个标准,连接处的内径与外径。螺丝抠的密度等。这就

和你的电脑上为什么可以连接USB设备一样。如果电脑和某一个USB设备电焊到一起,那么其它的USB设备就无法使用了。电脑使用的是实现了

USB接口的电子设备,而我们的U盘、MP3、移动硬盘及鼠标都是USB接口的实现类。
用Java写出来的程序也和我们现实生活中的设备一样。如电脑,我们希望电脑的所有部件都可以更换,如果主板上的内存插槽与内存条不

附。我们说,内存条没有实现某某接口。Java是完全面向对象的,而面向对象是我们最为熟悉的东东。面向对象并不简单,而是我们太熟悉它

了。所以我们学习Java会很方便。在现实社会中,所有的标准到了Java中都是接口。一盒香烟多少支烟,烟的长度等都是标准。一个光盘的大

小。Java中的JDBC就是一个标准,而各大数据库厂商及第三方厂商实现了这一标准。JDBC只说明了目的,没有说明怎么完成的目的。
面向对象就在我们眼前,不过我们有时不太注意它。希望你在今后学习Java时,多与现实社会联系。这样可以有利与你的理解。
代码量加大了,但对后期的维护与升级提供了方便。软件公司卖给客户的是class文件,而不是java文件。如果你的客户需要更换Killer对

象,只需修改资源文件既可。

下面我们来看一个定时器类。现在什么都是自动化的,如空调、电视、洗衣机等等。都要用到定时器这个类。对了,还有定时炸弹也要用

它。那我们可不可以只写一个定时器类,应用到所有的需要定时器的设备上呢?答案是肯定的,我们需要这个类。
好了,我们来分析一下定时器需要完成什么工作吧。定时器应该有启动、停止方法。定时器启动之后,每过一定时间就执行某个动作。其

中时间间隔为long型,而要执行的动作可能是输出一个字符串,也可能是打印作业。具体要干什么由使用定时器的用户来完成。而定义定时器

时,根本就不知道要干什么。

public class Timmer {
private long time;
private Action action;

public Timmer() {}

public Timmer(long time, Action action) {
this.time = time;
this.action = action;
}

public void start() {
state = START;
if(th == null) {
th = new Thread() {
public void run() {
while(state == START) {
try {
Thread.sleep(time);
action.action();
} catch(Exception e) {
}
}
}
};
}
th.start();
}

public void stop() {
state = STOP;
}

public void setTime(long time) {
this.time = time;
}

public void setAction(Action action) {
this.action = action;
}

public long getTime() {
return (this.time);
}

public Action getAction() {
return (this.action);
}
}

Action是一个接口,它只有一个方法,就是要完成的任务。我们在定时器启动时调用这个接口的方法。而这个Action接口的对象,代表一

个动作,这个动作就是用户要完成的动作。

public interface Action {
public void action();
}

public static void main(String[] args) {
Timer t = new Timer(2000, new Action() {
public void action() {
System.out.println("Hello World!");
}
});
t.start();
javax.swing.JOptionPane.showMessageDialog(null, "点击确定按钮停止定时器");
t.stop();
System.exit(0);
}

这是一个典型的回调方法例子。在AWT中,java使用了大量的监听器。这些监听器都是回调方法。在XML解析器SAX中,也使用了回调方法来解析XML文档。

接口要比抽象类还要抽象。抽象类需要子类继承,而Java是单继承,所以抽象类被限制了。而接口不同,一个类可以实现多个接口。好比人类与程序员类之间的关系。可以说程序员是人类的子类,如果程序员是一个接口。用人类的子类来实现它就会更好。这个子类还可以去实现会计接口、音乐家接口等等。

在struts2.0、spring、hibernate等框架中,都大量使用接口。我们关心的是某个接口与另一个接口之间的关系。而不关心某个实现类与另一个接口实现类的关系。在客观世界中,我们交谈时都大量使用接口,只是我们没有注意罢了。如:我公司需要一个程序员(一个实现了程序员接口的对象)。上课时,讲师有一台计算机,用白板笔在白板上写字(计算机是接口,白板及白板笔也是接口)。讲师希望学生能学会所有的知识(讲师及学生都是接口)。

就说这么多了,还有什么不明白可以与我联系。QQ:51038648

我在北京中科院计算所培训中心做兼职java讲师。我的经验是,要想学好Java,一定要多打代码、吃透代码。如果不勤奋,就一定学不好。看来你是刚刚开始学习Java,你后面的路还很长,而且不是很好走。

B. java的就业方向是什么

就我们对市场的调查和判断来说,目前Java的初级人才的供给量已经有些过剩——很多的大学和培训中心都在开设Java开发课程,而课程的重点也都是Core Java,Oracle,JSP,SSH这些内容,虽然学员的学习效果和实际能力大相径庭,但是从简历上、从外在表现上,大家看上去都差不多。而且,普通的Java开发职位的数量在这两年也没有很大的增长,这就造成了很多的用人企业在选用Java初级人才的时候非常谨慎,轻易不会开出很高的工资,或者干脆就只招聘三年以上工作经验的老手。

但是这并不代表Java就没有生命力了,java目前仍然是编程语言排行榜第一名的高级语言,而且从Google公司推出Android移动操作系统以来,Java+Android的开发变得非常火热,同时掌握Java高级面向对象编程和Android系统和应用开发的人才,成为炙手可热的香饽饽,有些公司初级Android开发员的工资已经开到月薪6000元以上,这就是市场需求!所以,对于在学校里有过Java学习基础的同学来说,学习Android开发、或者参加Android开发的短期实训,可以充分利用这个市场需求,获得进入IT软件行业的高进入门槛,一般来说,投入三个月左右的实训时间,即可真正入门,得到企业的认可。

另外要提醒你的是,技术上的“热浪”,只是个短暂的现象,对于一个有志于从事软件开发工作的学生来说,最重要的事情是要把面向对象的编程基础打扎实,不断积累项目经验。无论你是学习Java还是C#还是C++,只要坚持,都能有个很好的发展前景。有了扎实的基础,无论热点转向什么方向,你都能很快地识别并适应!我们华大锐志的很多专兼职老师和技术界的朋友,由于有着深厚的技术背景和功底,所以在职场上总是能拿到那些最高的薪水:在Java流行的时候依靠EJB获得一万三的薪水,在开源流行的时候依靠SSH承接数百万元的项目,在手机开发流行的时候一边依靠Android技术拿着公司三十万元的年薪,一边自己做手机小游戏全球下载量超过十万!

保持你的信心、选定你的方向、选择合适的学习途径,你会成功!

阅读全文

与北京java兼职相关的资料

热点内容
手机qq怎样隐身登陆 浏览:339
cdelete导致程序崩溃 浏览:783
小米4手机设置铃声在哪个文件夹里 浏览:184
linuxnet论坛源码下载 浏览:241
手机修改文件后缀名 浏览:32
jsvideofullscreen 浏览:120
梦幻模拟战1修改代码 浏览:928
cad有nc编程功能吗怎么用 浏览:573
js调用外部js 浏览:273
苹果手机照片后期软件 浏览:333
linux自动备份oracle数据库 浏览:447
ios重启app的代码 浏览:565
装了win10文件加锁打不开 浏览:713
苹果电脑怎么新建一个pdf的文件 浏览:379
wps显示word不是一个有效文件 浏览:48
凯立德地图升级工具 浏览:474
linux系统参看log 浏览:416
用手机设置无线密码是多少 浏览:829
销售季度绩效考核怎么体现数据 浏览:335
c盘的文件删除不了 浏览:589

友情链接