1、Scanner类

    1)使用

        a.导入Scanner类  improt java.util.Scanner;

        b.创建Scanner对象  Scanner input = new Scanner(System.in);

        c.获取输入数据    int now = input.nextInt();

    2)方法

        a.String next()  获取字符串

        b.Int nextInt()  获取整形数值

        c.Double nextDouble()  获取双精度浮点数

        d.boolean hasNext()  有输入返回Ture

2、封装    不直接对成员变量进行赋值和调用

    1)private将成员变量的使用限制,用此修饰符修饰的成员变量只能在本类中使用

    2)构造并引用set()方法来赋值,构造并引用get()方法来提取成员变量值

    3)public void setName(String name){

        this.name = name;

      }    //this.name-->之中的this代表调用此方法的那个对象,不能使用在main方法(static修饰的方法)中

3、static关键字  -->静态成员先于对象而产生,是属于类的,被该类的所有对象共享

    1)使用方法:-->类名.(变量名或方法名)

    2)静态方法中只能调用静态成员(变量或方法)

    3)不同对象共享同一个静态区域,会被覆盖

4、代码块

    1)局部代码块:生命周期仅在该代码块之中

    2)构造代码块:在成员变量初始化之后,构造方法之前执行

    3)静态代码块:静态代码块只在类加载的时候执行一次,形成静态区域,

            执行顺序:静态成员-->静态代码块-->非静态成员变量-->构造代码块-->构造方法

5.继承  -->class 子类 extends 父类{}  子类从父类中获取非私有的成员,成为继承

    1)子类可从父类中继承成员变量和成员方法(非私有)

    2)当子类创建对象时,父类的构造方法(无参)首先被调用

    3)super([参数列表]):声明创建父类对象-->super.成员可以调用父类的成员

      可以使用super()来强制调用父类的有参构造方法

    4)方法的重写:子类与父类有同名方法,调用子类的方法

6、修饰符

        同一类    -->  同一包  -->  不同包子类-->不同包其他类

public  -->  √      -->  √    -->  √    -->  √      全部可用

protectid -->  √    -->  √    -->  √    -->  ×      同一包或子类

默认    -->  √    -->  √    -->  ×    -->  ×      同一包

private    -->  √    -->  ×    -->  ×    -->  ×      类本身

final关键字修饰的变量是常量,不能被改变

       修饰的方法在子类中不能被重写

       修饰的类不能被继承

7、Object类  -->是所有类的超类,可以直接调用

    1)hashcode方法,返回该对象的哈希值(同一个对象的哈希值相同,不同对象的哈希值不同)

    2)getClass().getName()方法,返回Class名称

    3)toString()方法,return getClass().getName()+'@'+Integar.toHexString(HashCode())

      System.out.println()方法自动调用toString()方法

    4)equals()方法,指示其他某个对象是否与此对象相等

      System.out.println(Student.equals(Student2));  返回布尔值

8、多态    Object类是所有类的超类(父类)

    1) 有继承

      有方法的重写

      父类的引用指向子类的对象

    2)可以调用被子类重写的方法,可以调用父类的方法,不能调用子类特有的方法

    3)用于参数的传递

        main(){

          dosth.(new Son());

          dosth.(new Daugter());

        }

        dosth(Father father){

          father.play();    //传递不同的参数调用不同的子类重写的play方法

         }

    4)可以通过强转来调用子类的特有方法

9、抽象类    -->abstract关键字,抽象类不能被实例化(不能new对象)

    1)抽象方法  -->public abstract void eat();  没有代码段

      子类从父类继承的抽象方法必须进行实现

    2)抽象类引用可以作为参数放入成员方法的参数列表,实际需要的是子类对象

10、接口-->interface 接口名{}  不同类型的类可以调用接口的共同行为  与抽象类不同在于抽象类可以定义非抽象方法

    1)接口中的所有方法都是抽象方法,都是Public修饰的抽象方法

    2)implements关键字  public class SwimMan implements Swimmer{}

        a.SwimMan类必须实现接口的所有抽象方法

        b.SwimMan本身成为抽象类        a,b二选一

    3)类可以实现多个接口(不能多继承)  public class SwimMan implements Swimmer,Runner{}

    4)类可以同时继承父类和实现接口

    5)接口中可以定义成员变量,并可以被实现该接口的类引用,但是默认为public,final,static类型,不能被改变

11、内部类

    1)成员内部类  -->定义在类的内部

      引用方法:a.在类内定义一个对象,作为成员变量引用

            b.用法写在类的成员方法里,调用该成员方法

            c. 内部类名 对象名 = new 类名().new 内部类名()

    2)静态内部类

    3)局部内部类  -->定义在成员方法里

    4)匿名内部类  -->当对象只用一次时直接new完引用就行了,创建匿名内部类

        new 类名(){

          重写的方法

        };      匿名内部类不是一个类,而是一个对象

12、异常    -->出现异常之后的语句无法执行

    1)Throwable类    -->所有异常的超类

        a.Error  -->不合理的应用程序不应该试图去捕获的异常

        b.Exception  -->合理的应用程序可以去捕获的异常

            RuntimeException  -->正常运行期间可能抛出的异常,不需要提前对其处理

              ArithmeticException  -->算术异常

              ArrayIndexOutOfBoundsException  -->矩阵超出异常

            其他类异常(编译时期异常)  -->必须进行处理

    2)语法:  try{执行时可能出现异常的语句

              }catch(Exception e){

                捕获异常后希望继续执行的语句}

          e.printStackTrace();打印异常跟踪    -->调用了另一个线程

    3)多个异常  -->a.连续多个catch代码段,分开处理  b.一个catch中多个异常以'|'分隔

        注意:前边 的catch不能是后边catch的父类

    4)编译时期异常  -->SimpleDateFormat类  -->Date类和字符串的转换

        a.Add throws declaration 

            抛出编译异常的方法将异常抛给调用该方法的方法去捕获处理

        b.Surronded with try/catch

    5)throw关键字,用于手动抛出异常对象  -->throw new 异常();

        a.抛出运行时异常,可不处理

        b.抛出编译时异常,必须处理

        c.可以在创建异常对象时通过有参构造方法传递一个信息给父类

    6)finally关键字    -->try{}catch(){}finally{这里的语句一定会执行}

    7)自定义异常

        a.继承异常的父类

        b.重写构造方法,传入一个字符串参数并调用super(message)

java初学的更多相关文章

  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. java中的参数传递是按引用传递还是按值传递

    最近去面试,有一个面试官问到java中参数传递的问题,感觉自己对于这一块还是理解的不够深.今天我们就一起来学习一下Java中的接口和抽象类.下面是本文的目录大纲: 一 . 什么是按值传递,什么是按引用 ...

  2. 基于Vue的SPA动态修改页面title的方法

    最近基于VUE做个SPA手机端web发现动态修改页面标题通过document.title=xxxx 来修改着实蛋疼,而且在IOS的微信端据说没效果.百度发现要针对IOS的微信做点额外的操作,即:创建一 ...

  3. ArcGIS API for JavaScript 4.2学习笔记[29] 热点(密度)分析——以报警频率为例【使用Geoprocessor类】

    这个就颇有插值分析的样子了.也可以说是密度分析.做出来就是一个热力地图的样子. 比如,人口密度,降雨分布等.这都可以由这个例子做出来类似的. 由于上一篇已经介绍过Geoprocessor类和Param ...

  4. nova创建虚拟机源码分析系列之五 nova源码分发实现

    前面讲了很多nova restful的功能,无非是为本篇博文分析做铺垫.本节说明nova创建虚拟机的请求发送到openstack之后,nova是如何处理该条URL的请求,分析到处理的类. nova对于 ...

  5. HtmlTestRunner无法生成HTML报告问题

    环境: Python3.6 + Selenium3.3.0 + HtmlTestRunner1.1.0 ON Windows10 IDE: PyCharm HtmlTestRunner地址: http ...

  6. 常用API接口汇总

    下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...

  7. JAVA NIO学习四:Path&Paths&Files 学习

    今天我们将学习NIO 的最后一章,前面大部分涉及IO 和 NIO 的知识都已经讲过了,那么本章将要讲解的是关于Path 以及Paths 和 Files 相关的知识点,以对前面知识点的补充,好了言归正传 ...

  8. iOS学习——UI相关小结

    1     StoryBoard: 在Info.plist中可以查看Main storyboard,即入口storyboard,默认为main.storyboard,可以修改为自己创建的storybo ...

  9. vue的挖坑和爬坑之css背景图样式终极解决方法

    原问题 #wrapper{ width:100%; height:100%; position:fixed; background-image:url(./img/open_bg.jpg) } 在.v ...

  10. 豹哥嵌入式讲堂:ARM开发之文件详解(3)- project文件

    大家好,我是豹哥,猎豹的豹,犀利哥的哥.今天豹哥给大家讲的是嵌入式开发里的project文件. 前面两节课里,豹哥分别给大家介绍了嵌入式开发中的两种典型input文件:source文件.linker文 ...