java第一周

作者: 鼻子上的大花 | 来源:发表于2016-11-27 20:49 被阅读0次
    java第一周.png

    额外补充内容:
    2016.11.26
    Scanner类介绍
    1.扫描控制台输入Scanner s = new Scanner(System.in); 2.可以从字符串(Readable)、输入流、文件等等来直接构建Scanner对象,有了Scanner了,就可以逐段(根据正则分隔式)来扫描整个文本(scanner(file);scanner(string))

    Scanner sc=new Scanner(new File("D:\demo\1.txt"));
    String str=sc.nextLine();System.out.println(str);

    或者Scanner sc=new Scanner(Paths.get("D:\demo\1.txt"));
    3.其有的方法nextInt() 读取下一行内容;next() 读取下一个单词hasNext() 检测是否含有下一个单词;

    2016.11.27

    构造器与方法的区别

    Paste_Image.png

    (构造器是一种特殊的方法;用来构造并初始化对象及实例)

    构造器的作用初始化:

    Paste_Image.png

    (当创建一个或多个显式的构造器时,默认的构造器就不在了)

    2016.11.27
    四大访问修饰符
    java的四个关键字:public、protected、default、private(他们决定了紧跟其后被定义的东西可以被谁使用) 适用范围<访问权限范围越小,安全性越高>
    访问权限 类 包 子类 其他包   
    public ∨ ∨ ∨ ∨ (对任何人都是可用的)     
    protect ∨ ∨ ∨ ×  (继承的类可以访问以及和private一样的限)  default ∨ ∨ × ×    (包访问权限,即在整个包内均可被访问) private ∨ × × ×(除类型创建者和类型的内部方法之外的任何人都不能访问的元素)

    2016.11.27
    枚举
    该类依次列举出了该类所有对象的类型,不允许该类的变量赋值罗列出来的对象之外的值;

    创建方法public enum Weeek{Monday,tuesday, ,, ,,,}Week a=Week.Monday;

    enum关键字替换了class,隐式继承了Enum类,所以不允许再继承其他类;
    该类的构造函数被定义为protected,只允许本类及类的子类访问;
    枚举类的修饰符只能是public或者default;

    构造函数Enum(String name, int ordinal) 单独的构造方法。name是该枚举对象的名字,ordinal是序号(从0 开始)

    6.他的方法
    a.name() a.ordinal();

    2.16.11.27

    内部类

    1. 成员内部类(编译后也有.class)

    在外部类的类中创建,相当于一个外部类的成员;

    a:可以在外部类的其他成员中直接创建内部类的对象,进行访问;

    b:如果成员内部类的访问权限不是private,则可以在其他的地方通过如下来访问;

    Outer.Inner inner= Outer.new Inner(参数); 用得较少;
    c:类名.this.(Inner对象);this为当前; (注:在默认的访问权限下成员内部类与其他的成员可以相互调用)

    1. 静态内部类

    修饰符为static;相当于外部类的静态成员;

    a:可以在外部类的其他成员中直接创建内部类的对象,进行访问;

    b:如果成员内部类的访问权限不是private,则可以在其他的地方通过如下来访问;
    Outer.Inner inner= new Outer.Inner(参数); 用得较少;
    c:与this无关,是外部类的静态成员,只能访问外部类的静态成员;
    此时,外部类的成员方法可以访问该静态的方法;但是该内部类的静态的方法无法访问外部类中的非静态成员;外成----->内成;内成----->外静;

    Paste_Image.png

    3.局部内部类

    (什么时候使用:当看到函数的返回类型是接口,返回的是实现了该接口的类的对象,而且只需要在该函数中使用,那么可以在该类的函数中创建一个该类的内部类,内部类的返回值就是一个需要的对象;或者当看到函数的返回类型是抽象类,返回的是该抽象类的子类实例,只想在函数书中使用,那么可以在该类的函数中一个内部类,内部类返回的就是该外部类需要的子类实例)

    a.一般声明在函数的内部,只在该函数中有效,会产生.class文件;
    访问: Outer.函数名.内部类的方法();

    Paste_Image.png

    4.匿名内部类(局部内部类的特殊情况)

    a.什么时候用? (同局部内部类)

    已经知道父类,获取其子类的实例对象;
    已经知道接口,获取实现了该接口的类的对象;
    匿名类在用的时候必须是直接获取该匿名类的对象(无类名); b.怎么用?怎么样获取对象呢?
    公式: return new 父类or接口()
    {
    子类的实现 or 实现了该接口的类的实现
    (实现就是实现父类或接口的方法)
    }
    (公式得到的就是实现后的对象,然后return整个,所以在前面加return)

    相关文章

      网友评论

        本文标题:java第一周

        本文链接:https://www.haomeiwen.com/subject/bmlnpttx.html