文档章节

Java实用手册

前端届的科比
 前端届的科比
发布于 2015/11/17 21:52
字数 1519
阅读 104
收藏 5

##配置Java开发环境-Tomcat,MyEclipse

配置Windows版Tomcat服务器

  1. 到下载吧下载tomcat绿色安装包
  2. 下载后解压到某个PATH
  3. 新建一个系统变量,名为CATALINA_HOME,路径为PATH
  4. 启动Tomcat服务器:PATH\startup.bat; 停止Tomcat服务器:PATH\shudown.bat
  5. 打开 http://localhost:8080/ 如看到Tomcat页面即配置成功

配置Tomcat默认打开的文件名

更改Tomcat的web.xml:

<welcome-file-list>
  <welcome-file>/haha.jsp</welcome-file>
</welcome-file-list>

修改Tomcat端口号步骤

  1. 找到Tomcat目录下的conf文件夹
  2. 进入conf文件夹里面找到server.xml文件
  3. 打开server.xml文件
  4. 在server.xml文件里面找到下列信息
<Connector port="8080"
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
  enableLookups="false" redirectPort="8443" acceptCount="100"
  connectionTimeout="20000" disableUploadTimeout="true" />

5.把port="8080"改成port="8888",并且保存

配置MyEclipse

可观看教程:MyEclipse开发JavaWeb程序

修改项目的虚拟路径

查看教程:理解Web项目虚拟路径

Collection

Collection中的contains,containsAll方法,都会调用equals()来判断

HashSet和HashMap还会调用hashCode()方法来判断

因为默认equals只是会比较内存地址是否相同,但有时我们想要的效果是某些属性相同就可认为该俩对象是相等的,

所以很多时候我们需要用eclipse来生成equalshashCode方法Override(Source->Generate hashCode() and equals()...),然后选择好想要比较的属性即可

利用Arrays把数组转换成list,也就是collection:

Arrays.asList(arr);

集合包括Collection和Map。Collection: List, Queue, Set; Map: HashMap

在集合中取出元素时类型都会为Object,故取出时需要转换类型

而利用泛型(规定某个集合只可以存放特定类型的对象,会在编译的时候检查),可以直接按指定类型获取集合元素,无须转换了

泛型不能使用基本类型,但可以使用基本类型的包装类

StringBuilder和StringBuffer

StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。

因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类

==与equals

String类的==和equals()的区别:

==:判断两个字符串在内存中首地址是否相同,即判断是否同一个字符串对象;

equals():比较存储在两个字符串对象中的内容是否一致

而Object类的==与equals都是比较内存地址是否相同。

##Java的多态

继承是实现多态的基础

有引用多态,方法多态

//引用多态
Animal ani = new Animal();
Animal ani2 = new Dog();

//方法多态
ani.eat(); // animal eat
ani2.eat(); // dog eat

//ani2.watchDoor()是不允许的

Java的多态的好处体现于,能把同一类的但又各自又不同的对象放在同一个数组里面:

NBATeam[] arr = {new Lakers(), new Clippers(), new Magics()};

##封装与继承

子类的构造方法必须调用父类的构造方法,如果没有调用,系统会默认调用父类的无参构造方法,但如果父类没有无参构造方法,就会报错了

定义了成员内部类,必须用外部对象来创建内部对象,不能直接new一个内部对象:

Outer o = new Outer();
Inner i = o.new Inner();

同时访问外部类的相同名的属性时,使用:Outer.this.name

创建静态内部类,则可以直接 内部类 名字 = new 内部类

StaticInner si = new StaticInner();

而访问外部类的相同名的静态属性时,使用:StaticOuter.name,方法内部类,就是内部类定义在外部类的方法里,不能使用访问控制符和static

引入另外一个包后,如果引入的包里有相同名的class并且有相同签名的构造方法时,调用构造方法将采用引入包的class的构造方法

类里面的静态内部类

public class Animal {
  String name;
  int count;

  double say(String msg){
    return 100;
  }

  public Animal(){

  }

  public class AnimalInnerCommon{
    public void test(){
      System.out.println("AnimalInnerCommon test");
    }
  }

  // 静态内部类
  public static class AnimalInner{
    public void test(){
      System.out.println("AnimalInner test");
    }
  }
}

//必须继承Animal才能使用其静态内部类
public class Dog extends Animal{
  double say(String msg){
    return 88.8;
  }

  public static void main(String[] args){
    Animal ani = new Animal();

    // 直接使用AnimalInner而不用Animal或者它的实例
    AnimalInner ai = new AnimalInner();
    ai.test();

    // 通过Animal实例来使用其成员内部类
    AnimalInnerCommon ai2 = ani.new AnimalInnerCommon();
    ai2.test();
  }
}

obj.getClass()

类对象类的对象:

类对象:通过obj.getClass()来获取,描述的是类的属性信息:姓名、身高、年龄、体重

类的对象:是一个类的初始化后的实例对象,描述的是类的属性值:熊猫、165cm、20岁、165kg

##修饰符

  • private 本类
  • 默认 本类,同包
  • protected 本类,同包,子类
  • public 本类,同包,子类,其他

##抽象类和接口

抽象类:

  1. 在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但不关心这些子类如何实现这些方法
  2. 从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类为子类的模板,避免子类设计的随意性

接口:接口由全局常量和公共抽象方法组成。接口默认有abstract关键字来修改,如果没写的话,系统会自动加上。

接口中的常量都是public static final修饰符的,接口的方法都是public abstract

抽象类和接口都定义和限制子类必须实现某些接口,但区别是:

  1. 抽象类可以有普通的变量和方法
  2. 类是单继承的,而接口可以是同时实现多个
  3. 接口用的是interface

如果同时继承抽象类和实现接口,那么继承类需在实现接口之前

使用接口可以用接口引用来指向实现接口的类:

Interface1 i1 = new InterfaceImplementedCls();

接口还经常与匿名内部类来配合使用:

Interface1 i1 = new InterfaceImplementedCls(){
  public void implementMethod(){
    System.out.println("使用匿名类型类来实现接口");
  }
}

© 著作权归作者所有

前端届的科比
粉丝 21
博文 64
码字总数 51572
作品 0
深圳
私信 提问
Java学习手册:Java网络编程面试问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/MaybeForever/article/details/95471329 1、Java学习手册:Java基础知...

浩比浩比
08/27
0
0
Java学习手册:Java基础知识点(不断扩充更新中)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/MaybeForever/article/details/89186089 1、Java学习手册:Java基础知...

浩比浩比
08/29
0
0
《阿里巴巴Java开发手册》2018年完整资料下载!

无规矩不成方圆,无规范不能协作。 《阿里巴巴Java开发手册》(以下简称《手册》)是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规...

阿里云云栖社区
2018/10/24
0
0
如何避开“看不见”的代码陷阱?《Java开发手册》华山版开讲!

内容介绍: 无规矩不成方圆,无规范不能协作。《Java开发手册》是阿里内部Java工程师所遵循的开发规范,这是近万名阿里Java技术精英的经验总结。手册自发布那天起,总结了优秀Java开发者必备...

focuspython
06/27
6
0
《阿里巴巴Java开发手册》史上最全资料下载!

无规矩不成方圆,无规范不能协作。 《阿里巴巴Java开发手册》(以下简称《手册》)是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规...

云效鼓励师
2018/10/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 如果是个帅小伙你愿意和他出去吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《Ghost 》游戏《死亡搁浅》原声 《Ghost 》游戏(《死亡搁浅》原声) - Au/Ra / Alan Walker 手机党少年们想听歌,请使劲儿戳...

小小编辑
21分钟前
20
3
java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
16
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部