美文网首页
关于Java初识:基本语法概念总结

关于Java初识:基本语法概念总结

作者: 任任任任师艳 | 来源:发表于2017-09-01 08:32 被阅读0次

    Main函数的作用,可以保证类的准确的运行,程序的入口
    Javac是运行,java是编译
    类的首字母大写:
    标示符:由26个英文大小写组成;数字:0-9符号_$字符组成 定义合法:数字不可以开头,不能使用关键字;Java严格区分大小写,尽量见名之意
    注释: // // / 文档注释-说明书*/ (注释不编译到字节码文件中) 注释作用:注解说明\调试程序\面试的时候—开发代码必须写注释,写程序也必须写注释.(新手老手的区别就是写不写注释),代码就是人的思想中的体现形式,
    写代码的时候: 先写多行注释,需求 怎么想的-思路(步骤写)
    1. 定义一个类,java程序都是以类的形式存在的,,累的形式就是字节码文件的最终体现
    2.定义主函数,让类可以独立运行
    3.字样所需要的输出语句
    步骤: 1.用class关键字来完成类的定义,并起一个阅读性强的类名
    2.主函数:固定格式,
    3.输出语句

    常量 :
    整数常量:所有整数
    小数常量:所有小数
    布尔型数据,较为特殊;是true或false
    字符常量:将一个数字字母或者符号用’’单引号表示
    字符串常量:将一个或多个字符用双引号表示;
    null常量:只有一个null;
    整数的四种表现形式:
    二进制:0 1满二进1
    八进制: 0-7满8进1,用0开头:就是二进制位 3个二进制位就是一个八进制位
    十进制:0-9 满10进1
    十六进制 0-9 A-F 满16进一 用0x开头 A-10 其实就是二进制中的四个二进制为一个十六进制位
    负数的二进制的表现形式:其实就是这个数的正数二进制取反加一(负数的二进制位是最高位)

    修饰符(public\static) 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2)
    {
    执行语句;
    return 返回值;
    }

    1. 属性:是对象所具有的特征
    2. 方法:是对象具有的行为。
    3. 类:把对象共性信息归纳,且用语言描述出来,是对象抽象出来的
    4. 对象:具体存在的
    5. 接收数据:
      Scanner input = new Scanner(System.in);(需要导包)
    6. Switch语句中,括号里只能是整数或自符类型的数据。
      <switch(result){
      case 1:System.out.println("****");break;
      case 2:System.out.println("\\");break;
      case 3:System.out.println("####");break;
      default:
      System.out.println("选择有误,即将退出");
      //退出
      System.exit(1);
      }>
    7. 退出语句:
      System.exit(1);
    8. 随机数:
      int result = (int)(Math.random()*10)%3+1;
    9. 封装:把一些东西包装在一起。
    10. 抽象:由一堆对象抽取一个类的过程。
    11. 画类图:
      类名
      属性(“+”表示公有的,public类型,“—”表示私有的privat类型)
      方法名
      12:构造方法:方法名和类名完全一样,无返回值,通常是public访问修饰,给类内部成员进行初始化。
      如果Dog类是第一次使用
      《1》 类加载器加载Dog类到内存,产生Dog类的type类对象。
      《2》 在栈中给对象变量dd分配内存。
      《3》 在堆中给对象分配内存
      《4》 对堆内存基本类型属性,进行清零操作。
      《5》 执行构造方法中的代码,对属性进行初始化。
      《6》 将堆内存首地址赋给对象变量dd。
      构造方法的潜规则:
      《1》定义一个类,不写构造方法,编译器会自动,添加一个无参无功能的构造方法。
      《2》如果定义一个带参数构造,编译器不在自动添加无参无功能的构造方法,构造参数的函数名不可与属性名一致,否则不会在构造方法中赋相同的值,如同名this.name=name
      This指将来类执行的代码。
      《3》.(构造方法)子类构造方法中的第一条语句,如果没有使用super感觉真显示调用父类构造,默认调用父类的无参构造。
      《4》(构造方法)构造方法地 名字必须和类名完全相同,没有返回类型
      13.继承:不劳而获
      关键字 子类 extends 父类
      super在子类调用父类必须放在构造方法的第一条语句。
      *********一般,在父类加一个无参数无功能的构造方法
      隐士规则:
      《1》父类的方法,定义的了 有参数的构造方法,无参数的构造方法不生效
      《2》.子类继承父类后的构造方法中第一条语句会默认调用
      步骤:
      子类(如果子类和父类有参数,那么构造器的第一条必须是super语句后加参数变量------父类有子类没有,子类构造器的第一条语句super后跟常量,,,,,子类和父类没有参数的话,不需要使用super)
      《1》在内存中的字段分配空间
      《2》给子类里的属性初始话
      《3》实例化父类对象,然后是主类对象
      包的作用:限制访问范围;防止命名冲突
      继承规则:
      《1》.如果一个类没有标明继承自那个父类,默认是继承自Object,
      《2》实例化子类对象时,必然会先实例化出一个父类对象,然后再父类对象的基础上进行的扩展出一个子类对象
      《3》(构造方法)子类构造方法中的第一条语句,如果没有使用super感觉真显示调用父类构造,默认调用父类的无参构造。
      《4》(构造方法)构造方法地 名字必须和类名完全相同,没有返回类型
      《5》子类不能继承父类的三方面内容————(private成员,子类与父类不在同包父类使用默认访问权限的成员不能继承/构造方法)
      《6》.遵循里氏替换原则的两个类才可以建立继承关系,

    14.方法重写(子类和父类有相同的方法)的规则:
    《1》.方法重写是在两个类中(父与子)
    《2》.方法名称相同,参数列表相同,返回类型相同或是其子类,访问修饰符的范围可以扩大但是不能缩小。
    重写之后看重写对象new的是谁 ,调用的就是谁。
    《3》方法绑定是在程序运行的时候进行的,根据new的对象是谁就调用谁的方法,属于动态绑定。

    访问修饰符:private:在本类 调用
    默认的friendly在本类 同包 调用
    Protect在本类 同包 子类 调用
    Public在本类 同包 子类 其他类 调用。

    15.方法的重载
    《1》方法重写是在一个类中
    《2》方法名称相同,参数列表不相同,(参数个数不同,对应位置上的参数类型不同)
    重写之后看重写对象new的是谁
    《3》方法绑定是在程序编译的时候进行的,根据参数列表不相同决定 调用谁的方法,属于静态绑定。
    16.抽象方法:
    1。没有实现的方法(有大括号就是实现的。没有就是没有实现的方法大括号)去掉后, 在public后加 abstract关键字,规则是:如果一个方法有抽象方法的时候,这个类必须存在abstract必须定义成抽象类;
    总结
    《1》没有实现的方法,(即没有大括号的方法{ })叫抽象方法,必须加abstract
    《2》包含抽象方法的类必须定义成抽象类,但是抽象不一定是包含抽象方法。
    《3》. 抽象方法的意义:在于给子类制定标准和规范。。用来约束子类
    标准和规范体现在:一方面体现在 子类中的 方法重写上
    2217.抽象类作用:规则
    《1》一个子类继承了抽象的父类,子类要么实现(即重写父类中所有的抽象方法)父类中所有的抽象方法,否则子类必须也必须定义成抽象类
    《2》抽象类不能实例化(就是不能new对象)
    final关键字:不允许继承父类,在类的class前加final,,不允许继承属性在void前继承属性,,属性或方法里的常量,在类型前加final关键字,
    instanceof 判断对象是否是类的对象
    开辟原则:对原来的代码封闭,对于新的代码开放
    18.多态:
    《1》定义;相同的对象对同一个方法,表现出不同的行为
    《2》表现实现:方法重载、方法重写,

    1. 接口:USB接口是一组规范,就是一组规范或标准。抽象的类
      什么是面向接口编程?
      规则:(也就是说改一下关键字class-interface;里面的方法都是抽象的但是没有abstract关键字;不加public也是公共的)《1》.两方面理解:一方面从类的角度来说是是一组纯的抽象类(有abstract,就是这个类的方法都是抽象方法,即不存在非抽象的类,但是 里面都是抽象的方法,但是没有关键字abstract)接口里所有的方法都是公共的加不加关键字public都可以
      从意义的角度来说:接口就是一组规范或标准,
      《2》(implements 关键字)类实现接口
      a.变相的实现多继承(因为只允许有一个父类)
      b。可以将任务分解,有利于实现团队合作,
      《3》接口是体现的是一种能力,设实现了接口,谁具备了这种能力
      面向接口编程
      一个类只能有一个public,继承一个父类,但是可以实现多个接口和抽象类的区别?
      抽象类:只能是这个类的本身或者子类才能传过来;
      接口:只要实现接口的类都能传过来;
      接口的好处
      1.变相的实现多继承,
      2.可以将任务分解,有利于实现团队合作,
      抽象类和借口的区别
      类里面的参数,传的时候传类就是类的本身或者是子类对象,接口是只要是接口的都能传过来
      3.接口体现的是一种能力

    20集合:
    Collection:接口存储一组不唯一,无序对象
    List接口存储不唯一,有顺序(插入对象)的对象
    Set接口存储一组唯一,无序的对象
    Map接口存储一组键值对象,提供key和value的映射…有HashMap和TreeMap
    List的get(int index)方法获取元素
    Map的get(Object key)方法获取元素
    Iterator的next()方法获取元素

    HashMap(集合) 定义的size用来统计元素个数 key是set。values是Coleection 是object类型
    Map co = new HashMap();
    co.size();统计字典的元素个数
    co.get ("CN")存放的是object类型的键,想获取某一元素的值
    co.containsKey("FR"),判断是否存在某一元素。
    co.remove("FR");
    co.keyset();、、键集合 返回字符串
    co.values();//值集合字符串
    co.clear();全部清除
    co.isEmpty ()判断是否为空

    list的get(int index)方法获取元素,Map的get(Object key)方法获取元素,iterator的next方法获取元素
    Vactor(保证安全/多线程)和ArrayList(提高速度,单线程,重效率轻安全)的异同:vactor扩容,默认增加一倍,ArrayList增长50%

    Hashtable(安全)和HashMap(无安全)的区别:
    Hashtable继承Directionary类,HashMap实现Map接口
    Hashtable线程安全,HAshMap线程非安全;
    Hashtable不允许null值,HashMap允许null值

    迭代器:实现Iterator接口的都称为迭代器(iterater遍历一个集合、for each循环)
    接口的方法:Boolean hasnext()是否存在下一个元素,返回bool值,Object next():返回要访问的下一个元素

    泛型:类型不确定;,List<T>(类定义不确定,实例化的时候就确定了) 由类产生对象的时候
    读取便利的时候代码有变化不用强转,对于test2的检查,就不用强转
    LinkedList<Dog> dogs = new LinkedList<Dog>();

    早期java利用jdbc---odbc 桥接的技术,现在是纯的jdbc操作数据库
    程序员调用的接口与类 如:
    DriverManager类 Connection接口 Statement接口 ResultSet接口

    相关文章

      网友评论

          本文标题:关于Java初识:基本语法概念总结

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