java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
![8b88fe1eeb2c45fc4bac4687d0932d69.png](https://i-blog.csdnimg.cn/blog_migrate/a78add2f45d0d8077cd23a1a8230f318.jpeg)
领取方式
1、点赞+评论(勾选“同时转发”)
2、关注小编。并私信回复关键字【java】(一定要私信哦~点击我的头像就能看到私信按钮了
![a09aecb4eb70554886d02c3fe4106df9.png](https://i-blog.csdnimg.cn/blog_migrate/53c77d247d006b987289d61b31b0caf8.jpeg)
基本数据类型
- 标识符区分大小写:hello与Hello是不同的标识符。
- 基本数据类型的精度由低到高依次为:byte short char int long float double
- 格式控制符号:
- %dint类型
- %cchar类型
- %f浮点类型
- %s字符类型
例如:System.out.println("%d,%f",1,1.23)
4.数组的两种创建方式:
Object[] arry=new Object[n];
表达式
- switch case语句:case下加break或者加return都是可以的。
- break与continue:break语句结束整个循环;continue结束当前循环,开始下一次循环。
类与对象
多态:Java中多态分两种,重载(Overload)和重写(Override)。
- 重载:一个类中多个方法具有相同的名字,但方法的参数不同。参数个数不同或者参数类型不同,返回类型与参数名称不参与比较
- 重写:子类重新(覆盖)父类的方法。
- 可以提高访问权限,不允许降低访问权限。
this关键字:this表示当前对象,在构造方法中代表该构造方法所创建的对象。
反编译与文档生成器:
- javap:将字节码反编译为源码。
- javadoc:将注释生成html文档。
生成jar文件:
在Eclipse下,选择File——Export——java——JAR FILE
子类与继承
- Object类:所有类都继承自Object类,“Class A”原型是“Calss A extends Object”。
- 继承:
当子类与父类不在同一个包中,子类只继承父类中protected和public访问权限的成员变量与方法子类继承的方法只能操作子类继承和隐藏的成员变量。子类新定义的方法可以操作子类继承和子类新声明的成员变量,但无法直接操作子类隐藏的成员变量(要使用super)子类不继承父类的构造方法,因此子类在其构造方法中要使用super调用父类的构造方法。当类中定义了一个或多个构造方法时,java不提供默认构造方法。因此父类中定义多个构造方法时,必须包括一个不带参数的构造方法。
面向抽象编程
- 对象的向上转型:上转型对象不能操作子类新增的成员变量与方法:父类 f=new 子类();
- Open-Closed Principle:系统应当对扩展开放,对修改关闭。(怎么办?面向抽象和接口啊!)
- 面向抽象编程:设计类时,不该让类面向具体的类,而是面向抽象类。
例子:设计抽象类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抽象类,等待子类具体实现。publicclass MobliePhone {private SIM sim;publicvoid setSIM(SIM sim){ this.sim=sim;}publicvoid showMessage(){sim.show();}
![81ed9b8ee5a6d0cd1e92c002783c6476.png](https://i-blog.csdnimg.cn/blog_migrate/b086905ec8a589f07e05468290f85b72.jpeg)
面向接口编程
1.接口:
- 接口中只有抽象方法和常量,抽象方法一定是public,常量一定是public static,你看不到是因为系统隐藏了。
- 类实现接口,若没有重写接口中的全部方法,这个类就是一个抽象类。
- 接口要求一些类具有相同名称的方法,但不强迫这些类具有相同的父类。
- 接口无法调用类中非接口方法。
- (很关键)如果一个方法的参数是接口类型,就可以将实现该接口的类的实例的引用传递给该接口参数,这个接口参数就可以回调类实现的接口方法。
2.面向接口编程:核心思想是接口回调,与面向抽象编程有一定的相似性。
例子:设计一个广告的接口。public interface Advertisement {设计Televison类用于播放广告,重点是设置接口的参数回调。publicclass Televison {Advertisement adv;publicvoid setAdv(Advertisement adv){ this.adv=adv;}publicvoid advertise(){adv.showCompany();adv.showMess();}实现具体的广告类publicclass naobaijin implements Advertisement{@Override publicvoid showMess() {System.out.println("收礼只收脑白金");}@Override publicvoid showCompany() {System.out.println("白金集团");}
![ecacb45ee55e162c37b7afb2aa7f7572.png](https://i-blog.csdnimg.cn/blog_migrate/e97f8baa9f53483028b99f993c8e265c.jpeg)