1、数组操作类Arrays与System

public static void arraycopy(Object src, int srcPos, Object dest,int destPos,int length):
用于数组src从第srcPos项元素开始的length个元素拷贝到目标数组dest从destPos开始的length个元素 

2、方法的可变参数

int sum(int a,int ... args)
{ }

3、类似foreach的for循环

public static void main(String[] args) {
String[] itcastNames={"bjit","cdit","gzit"};
for (String name : itcastNames) {
System.out.print(name + " ,");
}
}

 4、属性

通常将类中的成员变量私有化(private),通过对外提供方法(setXxx,getXxx),可对该变量(xxx)进行访问。
例如:
  private int age;
属性则为:
  public int getAge()
{
return age;
}
public void setAge(int a)
{
age=a;
}

但是boolean 类型的变量没有getXX,只有 isXX和setxx

private boolean isMan;

属性则为

public void setIsMan(boolean b)
{
iaMan=b;
}
public boolean isIsMan()
{
return isMan;
}

5、this

多个构造器中相互调用时,此时的this(参数) 必须写在构造方法中的第一行。
public class Person
{
void Person(string name)
{
} void Person(string name,int age)
{
this(name);//此句必须放在第一句,不能让下面age=1放在this(name)前面
age=;
}
}

6、package

当我们用dos命令编译如下java文件时:PackageDemo.java文件的目录 > javac  PackageDemo.java

package test;

class PackageDemo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}

是会生成PackageDemo.class文件的,但是当我们运行(PackageDemo.class文件的目录 > java PackageDemo)此字节码文件时,是会报错的(NoClassDefFoundError)!

其实它是少了一个test文件夹,没有自动帮我们生成对应的包文件夹,只要使用了下面的命令即可,加上 -d .

javac  -d . PackageDemo.java

运行时使用命令:java test.PackageDemo(包名.类名)即可!

如果包名类似这样的话:package a1.b1.c1,那么会自动生成a1、b1和c1三个文件夹,包名强烈建议都为小写

package必须写在文件的开头,必须写在import和类声明之前。 
java允许将一组功能相同的类放在同一个package下。
7、import
访问带有package的类
假如我现在有一个类,如下
package test;

public class PackageDemo
{ }

那么我们就可以使用如下两种方式访问类

(1)导入类,更好的翻译是“寻找”类       
import test.PackageDemo;

class MyProgram
{
public static void main(String[] args)
{
PackageDemo pd = new PackageDemo();
}
}
(2)寻找某个包下被使用到的全部类(此包下没有使用到的类不会加载进来,此包的子孙包下的任何一个类是无法访问到的,因为*是不包含子孙包下的类的)
import test.*;

class MyProgram
{
public static void main(String[] args)
{
PackageDemo pd = new PackageDemo();
}
}

* 只能表示类名,不能表示包名

同一个类中出现多个相同的类名处理
(1)java.util.Date  和  java.sql.Date
       类的全限定名:该类的包名.子包名....类名
(2)String类的权限定名:
        java.lang.String
JVM会自动导入java.lang下的所有被使用到的类:
所以不需要我们去手工import;但JVM不能导入java.lang子包下的类。
8、java常用包
(1)java.lang  : 语言核心类,系统自动导入
        • 只要搞java,天天都会用这个包。含有String等常用类
(2)java.util  : java 工具类、集合框架类和接口
        • 以后要学习时间,日历,集合等就得用到这个包。
(3)java.net   : 网络编程接口和类
        • 以后要写和网络相关的应用就要用这个包。
(4)java.io    : 流的接口和类
        • 以后要写读写文件或者图片等这些就要用这个包。
(5)java.text  : java格式化相关类
        • 以后我们要做软件国际化就要用这个
(6)java.sql   : jdbc相关接口和类
        • 以后操作java连接数据库就要使用到这个包
(7)java.awt   : 抽象窗口工具集相关接口和类(不能跨平台)
        • 搞一个类似于QQ一样的软件,界面就得使用这个包下的类;
(8)java.swing :图形用户界面相关接口和类(可跨平台)
(9)Java.applet : java的应用小程序(早就已过时)

另外、javax包是对java的增强、javax里的swing包是做窗口的,不过它比java.awt增强了,它可以跨平台,而且界面更漂亮了!

9、访问修饰符

10、java5新特性

import static语句导入一个类中的某个静态字段、方法或所有需要使用到的静态字段、方法。
import static java.lang.Math.PI;
import static java.lang.Math.*;
11、子类对象实例化过程
12、Java继承是使用的是extends 
 public class Chinese extends Person
{ }

判断当前对象是不是所指定的类型:instanceof

Chinese  chinese = new Chineese(); 
if (chinese instanceof Person) //instanceof不能随便使用,若对象A的类型和类型B之间没有继承关系的话,就不能使用instanceof运算符
// 是此类型的对象

13、方法覆写(重写)

(1)产生原因:
       • 当父类中某个方法不适合于子类时,子类出现父类一模一样的方法.
(2)判断必杀技:子类方法前加上@Override能编译通过,表明是方法的覆写。
(3)调用被覆盖的父类方法:使用super.方法名(实参);
(4)方法覆写时应遵循的原则(一同两小一大):父类的私有方法不能被重写!另外、静态方法也不能被重写,因为方法的重写和对象有关,而static修饰的方法和对象无关!
        (一同):
                 • 方法签名必须相同;
        (两小):
                 • 子类方法的返回值类型比父类方法的返回值类型更小或相等
                 • 子类方法声明抛出的异常应比父类方法申明抛出的异常更小或相等;
        (一大):子类方法的访问权限(访问修饰符)应比父类方法更大或相等;
Overload & Override
判断重载:两同一不同:同类,同方法名,参数列表不同(参数类型,参数个数,参数的顺序)
14、Super
(1)表示父类对象的默认引用
(2)如果子类要调用父类被覆盖的实例方法,可用super作为调用者调用父类被覆盖的实例方法。
(3)使用super调用父类方法
(4)使用super调用父类的构造方法
this不能出现在static修饰的方法中,super也一样不能出现在static修饰的方法中。

因为 static修饰的方法属于类,也就是说其调用者是类。
子类调用父类的构造方法时:super必须放在第一句
 

java初学2的更多相关文章

  1. java初学的分析

    java初学的分析第一阶段:入门阶段学习目标:简单项目开发学习内容:1.Java入门书籍,Java基础知识.关于Java入门级的书,给大家推荐过<Java编程思想>.<Java核心技 ...

  2. 【全网最优方法】JAVA初学:错误: 找不到或无法加载主类HelloWorld

    JAVA初学:错误: 找不到或无法加载主类 HelloWorld 我这是看的黑马2019网课(B站)出现的问题. 放一下别人的图,我也是大概的问题:就是javac没问题,java却无论怎么弄都报错. ...

  3. (Java初学篇)IDEA项目新建流程和软件配置优化以及怎么彻底删除项目

    相信很多小伙伴们在初学 Java 时都会出现这样的情况,就是在网上一顿搜索加捣鼓终于把 JDK 和IDEA 这两款软件安装配置好,但是发现面对这个陌生的软件此时却无从下手,那么接下来我就给大家简单地介 ...

  4. sqlite - java 初学

    进来准备使用一种embedded database,即嵌入式数据库,方便随项目本地存储.目前学习打算是sqlite和H2. document:http://www.runoob.com/sqlite/ ...

  5. Java 初学记录之可执行jar包

    环境 jdk7 jre7 当我用jdk7开发的时候,编写完成可执行的jar工具,并且成功使用. 当我在另一台机器安装了jre6,再次运行我的小工具jar 的时候,报错 解决: http://stack ...

  6. JAVA初学(1):值类型和引用类型的区别

    JAVA值类型和引用类型的区别(转)                                                          [定义] 引用类型表示你操作的数据是同一个,也就 ...

  7. Java初学随笔

    背景 狡兔三窟,在使用了近7-8年的C#后,考虑到云化的到来,还是要面向更多的语言与技术,近期决定学习scala,先从Java为跳板,最后达到学会并熟练 使用scala的目的. <核心技术> ...

  8. java初学知识点

    public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARG ...

  9. Java初学(四)

    一.图解二维数组 二.图解动态创建二维数组 三.杨辉三角练习: import java.util.Scanner; class Array2Demo{ //实现杨辉三角 public static v ...

  10. Java初学(三)

    一.使用键盘录入数据 三步:1.导入包:import  java.util.Scanner; 2.创建键盘录入对象:Scanner sc=new  Scanner(System.in);   3.通过 ...

随机推荐

  1. 使用selenium 检测js报错

    背景:接到一个需求,想检测页面是否能检测js报错,何为js报错,如下图所示,在控制台中,使用console,如果有js报错,就会出现错误 如何检测,简单版操作,打开一个url,使用manage获取浏览 ...

  2. 【Java-POJO-设计模式】JavaEE中的POJO与设计模式中多态继承的冲突

    最近看<重构>谈到利用OO的多态来优化 if else 和 switch 分支语句,但是我发现OO语法中的多态在使用框架的JavaEE中是无法实践的.对此,我感到十分的疑惑,加之之前项目中 ...

  3. 微信端H5页面问题总结

    1.div元素不确定高度的情况下背景图片显示问题,解决后可以自适应不同分辨率的屏幕大小,div元素的background-size设置100%后,其自身的高度和宽度不能再设置. .register-t ...

  4. CSU 1216异或最大值 (0-1 trie树)

    Description 给定一些数,求这些数中两个数的异或值最大的那个值 Input 多组数据.第一行为数字个数n,1 <= n <= 10 ^ 5.接下来n行每行一个32位有符号非负整数 ...

  5. js字符转数字

    js字符串转数字 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只 ...

  6. Java数据处理

    对于形如“(TYPE=SITA##)&&(((CTYP=FPL##)||(CTYP=CHG##)||(CTYP=CNL##)||(CTYP=DLA##)||(CTYP=DL##)||( ...

  7. 简单了解一下oracle中的显示游标和存储过程

    游标 游标主要分两类动态和静态游标,静态游标是编译时知道明确的select语句的游标,静态游标分类两种,显示游标和静态游标,这里只说显示游标 显示游标 declare name emp.ename%t ...

  8. POJ:3190-Stall Reservations

    传送门:http://poj.org/problem?id=3190 Stall Reservations Time Limit: 1000MS Memory Limit: 65536K Total ...

  9. [Link-Cut-Tree][BZOJ2631]Tree

    题面 Description: 一棵\(n\)个点的树,每个点的初始权值为\(1\).对于这棵树有\(q\)个操作,每个操作为以下四种操作之一: + u v c:将\(u\)到\(v\)的路径上的点的 ...

  10. Python数据挖掘-航空公司客户价值分析

    出处:http://www.ithao123.cn/content-11127869.html 航空公司客户价值分析 目标:企业针对不同价值的客户制定个性化的服务,将有限的资源集中于高价值客户. 1. ...