zoukankan      html  css  js  c++  java
  • 11、Java基础知识

    1、安装jdk,配置环境变量

    2、public class HelloWorld{

         public  static void main(String[] args){

           System.out.println(‘HelloWorld’);

      }

    }

    3、编译过程:通过javac编译java文件,生成.class文件,使用java命令运行class文件,注意不能带class后缀名。

    4、数据类型:基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。

    基本数据类型:整数型、浮点型、字符型、布尔型

    引用数据类型:类、接口、数组

    5、自动类型转换:Int类型和double类型相加会转换成double类型。

    强制类型转换:(int)double类型的值.

    6、自增、自减:

    Int a=5;

    Int b=a++;(先赋值给b,再自增)结果:a=6 b=5

    Int b=++a;(先自增,后赋值给b)结果:a=6 b=6

    7、条件运算符(三目运算符):布尔表达式表达式1 :表达式2

    8、用户输入实现 步骤:

    导入Scanner包:import java.util.scanner;

    创建Scanner对象:Scanner input =new Scanner(system.in);

    接收用户输入的值并保存在变量中:Int a=input.nextInt();

    9、定义数组:int[] scores={78,90,65,87}

    定义一个长度为 3 的字符串数组,并赋值初始值:String[] hobbys = { "sports", "game", "movie" };

    定义一个整型数组,并赋初值:int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };

    10、使用 Arrays 类操作 Java 中的数组:

    导入Arrays类import java.util.Arrays;

    // 定义一个字符串数组

    String[] hobbies = { "sports", "game", "movie" };

    // 使用Arrays类的sort()方法对数组进行排序

    Arrays.sort(hobbies);

    // 使用Arrays类的toString()方法将数组转换为字符串并输出

    Arrays.toString(hobbies) ;

    11、使用 foreach 操作数组:

    for(元素类型 元素变量:遍历对象){

       执行代码

    }

    // 定义一个整型数组,保存成绩信息

    int[] scores = { 89, 72, 64, 58, 93 };

    // 使用foreach遍历输出数组中的元素

    for ( int score:scores ) {

    System.out.println(score);

    }

    12、二维数组:

    //定义一个两行三列的二维数组

    int num[][] = new int[2][3];

    二维数组赋值:int[][] num={{1,2,3},{4,5,6}};

    也可以在声明数组的同时为其赋值

     

    13、定义 Java 中的方法:

     

    无参无返回值方法:

    调用方法:

     

      

    无参带返回值方法的使用:

     

    14、方法的重载:方法名相同,参数不同(个数,类型,顺序不同)。

    15、类的定义:

    public class Students{
      String name; //属性(成员变量)

      String class

      Int age;

     // 方法

    void speak(){

      System.out.println(“speak chinese”);

     }

    }

    16、对象:

    //创建对象:类名 对象名=new 类名();

    Students stu=new Students();

    //使用对象:

    给属性赋值:对象名.属性名=值;stu.name=“张三”;

    调用方法:对象名.方法名(); stu.speak();

    17、成员变量和局部变量:

    成员变量:定义在类中,描述对象有什么。

    局部变量:定义在方法中,临时保存数据。

    18、成员变量和局部变量的区别:

    作用域不同:

    成员变量的作用域在整个类内部可见,局部变量仅限于定义它的方法。

    初始值不同:

    成员变量有默认初始值,局部变量没有初始值。

    优先级:两类变量同名时,局部变量有更高优先级。 

    19、构造方法:创建对象即可调用无参构造方法。

    没有返回值类型,与类同名,可有参数。

    public 构造方法名(){

        //初始化代码

    }

    使用构造方法:类名 变量名=new 构造方法名();

    当没有构造方法时,系统会自动添加无参的构造方法,当有构造方法时,不会自动添加无参的构造方法。

    20、static静态变量:

    使用 static 可以修饰变量、方法和代码块。静态成员属于这个类。

    static修饰的方法,可直接通过类名.方法名访问。

    注意:

    1、 静态方法中可以直接调用同类中的静态成员和方法,但不能直接调用非静态成员和方法。需要通过对象来访问非静态方法。

    2、在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。

    21static 使用之静态初始化块:

    静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

    eg

      

    22、面向对象的三大特性:封装、继承、多态

    封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

    封装的实现步骤:

    • 修改属性的可见性:设为private
    • 创建getter/setter方法
    • 在getter/setter方法中加入属性控制语句

    23、访问修饰符: 

     

    24、this关键字:

    this关键字代表当前对象

    this.属性 操作当前对象的属性

    this.方法 调用当前对象的方法

    25、内部类:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。

    内部类的主要作用如下:

    1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

    2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

    3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

    内部类可分为以下几种:

    • 成员内部类
    • 静态内部类
    • 方法内部类
    • 匿名内部类

    调用内部类方法: 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );

     

    内部类方法中访问外部类的成员属性:Outer.this.name;

    26、静态内部类:

    静态内部类是 static 修饰的内部类,这种内部类的特点是:

    1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 

    2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

    3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类对象名= new 内部类();

    27、方法内部类:方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。

    28、继承:java中的继承是单继承。

    子类拥有父类的所有属性和方法(除了private修饰的)。

    class Dog extends  Animals{

     …….

    }

    29、方法的重写:子类可以重写父类继承的方法,当调用方法时会优先调用子类的方法。

    返回值类型、方法名、参数类型及个数都要和父类继承的方法相同。

    30、final关键字:final可以修饰类、方法、属性、变量

    final修饰类,该类不能被继承

    final修饰方法,该方法不能被覆盖(重写)

    final修饰属性,类的初始化属性必须有值或在构造方法中赋值

    final修饰变量,该变量的值只能赋一次值,即为常量。 

    31、super关键字:代表父类对象

    访问父类方法:super.eat();

    32、Object类:是所有类的父类。

    33、多态:对象的多种形态(继承是实现多态的基础)

    引用多态:

    父类引用指向本类对象 Father f1=new Father();

    父类引用指向子类对象 Father f2=new Son();

    方法多态:

    创建本类对象时,调用的方法为本类方法。

    创建子类对象时,调用的方法为子类重写的方法或继承的方法。

    34、抽象类abstract

     

    public abstract class Father{

      public abstract void eat();//抽象类没有方法体以分号结束

    }

    35、接口:

      

  • 相关阅读:
    knowledge_maven
    problems_springboot
    problems_halo
    skills_oracle
    hive启动报错(整合spark)
    根据父ID聚合
    sql2005数据库远程备份
    waitfor的使用
    CTE+操作性语句(删除无主键的相同的多行数据)+CTE操作技巧
    SQL中的CTE,查询所有的子集(子集的子集)比游标效率高
  • 原文地址:https://www.cnblogs.com/xlfdqf/p/12510632.html
Copyright © 2011-2022 走看看