• JAVA基础----持续更新


    1.基本数据类型
      - 整数型:byte  short  int  long   默认为int 计算时需要转换 
      - 浮点型:float  double     默认为double 
      - 布尔类型:boolean
      - 字符型
      
    2.引用类型     包括数组,类,接口
      类型  引用对象  =  new  构造方法( );
      Person  p  =  new  Person();   Person作为一个引用类型
     
    3.函数或方法
      - 方法的重载:函数名一样,参数个数、类型不一样,返回值可相同可不同
      - 重载和重写的区别
           重写是继承    函数名,参数类型,个数相同   发生在父类和子类关系的类,子类定义与父类完全相同的方法,子类调用时候直接调用子类重写的方法
           重载不用继承    函数名相同,参数的类型,个数,顺序不同  发生在一个类中
    4.面向对象
      设计ATM机的终端系统:
      ATM机;
      银行卡
      钱
     
      类是抽象的 创建的对象是具体的
      数据传递时候:考虑的是对象与对象之间的传递数据
      对象是类的具体实例
     
      访问权限  --四个
      private:本类中
      默认: 本包中
      protecte:本包中、外包的子类中
      public:整个项目中
      
      封装  把对象的属性和行为结合在一个独立的系统单元内部
      - 封装.jar包
      cmd命令:javac  执行java文件  使其生成.class文件
                      javac -d  执行.java文件和.class文件
      压缩成.jar文件之后需要重新解压  修改met文件夹中的文件  将包名和类型全部修改  重新压缩    否则执行不了
     
      ②继承(泛化)
      extends
        父类:超类,基类
        子类:派生类
         super():调用父类构造器
         this():调用本类构造器
      多态  
          多态必须建立在继承的基础上,没有继承就没有多态
          当父类作为方法的形参时,所有的子类都可以传递

          父类的引用指向子类对象

    Fruit f = new Apple();//Fruit作为父类,指向子类Apple
    
    构造器
       完成对象的创建(实例化)  一般也完成对象的初始化
     
    public class Person{
         String name;
         int age;
         String sex;
         //构造器
         public Person(String name, int age,String s){
              this.name=name;
              this.age=age;
              this.sex=sex;
         }
    }
    
     
    构造方法
         创建对象
         为属性赋初始值
         默认一个无参数的构造方法
         但是一旦定义了有参数的构造方法,则不会生成默认的无参构造方法
     
    关于父类子类的执行顺序
     
    变量
      - 局部变量:定义在方法体中,或方法的形参  
      - 实例变量:类的属性,全局变量  
      - 静态变量:声明为static的属性  
     
     
    内存的类别
     
    Penson p = new Person("aa","11","male");
    
    //对象名 p 存放在栈内存中  ,属性值存在堆内存中,p 也称为对象的引用
    
     
    栈内存
        - 基本数据类型的局部变量,对象的引用值
      堆内存
        - 对象的属性,数组的元素   有New 就用堆内存
      在其他类中或者方法中 ,要想访问对象的方法或者属性,就必须实例化这个类,然后通过对象名和点操作符来完成;在本类中直接访问
     
      垃圾回收机制:作用于堆内存
    super()  调用父类的构造方法
     
    static 类变量(静态变量) 所有类共享,只在类加载的时候创建,执行一遍  可以直接调用,类存在static变量就存在
    局部变量不允许被static修饰
    实例变量  非static属性
     
    非静态方法 必须 用对象来调用
     
    public class Test{
         public void add(int a,int b){}
         public static void main(String []args){
              Test t = new Test;
              t.add(1,2);
         }
    }
    //add是非静态方法,main方法是静态的,所以只能先创造出Test对象,再调用add函数
    
    数据类型的转换
         向上转型:子类转换为父类,具有继承和实现关系,损失子类新扩展的属性,方法
         向下转型:强制转换
    Animal a = new Cat();//向上转换
    Cat c = (Cat)a;//向下转换
    

         instanceof 运算符判断经过上溯转型后是哪个子类的

    object instanceof class//判断一个对象是否属于一个类
    object instanceof interface//判断一个对象是否属于一个接口
    //返回值都是boolean
    
    final 可以修饰:
            - 类:不能被继承了
            - 变量:相当于常量
            - 方法:
     
    接口  中只有常量和抽象方法
         常量:public  static  final
         抽象方法:public  abstract
     
    抽象类   
         用 abstract 定义的类
     
     
     
     
     
     
     
     
  • 相关阅读:
    Luogu p2672 推销员 (贪心)
    HDU 1548 A strange lift (暴力搜索)
    HDU 1258 Sum it up (dfs)
    HDU 1087 FatMouse and Cheese (记忆化搜索)
    Beautiful Numbers(牛客)
    E. Product Oriented Recurrence(矩阵快速幂+欧拉降幂)
    Super A^B mod C FZU
    bitset入门 简单瞎搞题
    D. Dirty Deeds Done Dirt Cheap(思维)
    大家一起来数二叉树吧(DP)
  • 原文地址:https://www.cnblogs.com/lwj-0923/p/7355123.html
Copyright © 2020-2023  润新知