栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java SE 复习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java SE 复习

目录

目录

一、基础

二、数组

三、面向对象

1、杂项

2、封装

3、构造器(构造方法)

4、继承

5、多态

6、包装类

7、设计模式

1、单例设计模式

8、代码块

 9、抽象方法与抽象类

10、接口

11、内部类



2021-12-18更


一、基础

1、命名规范

包名       全部小写xxxyyyzzz
类,接口名大驼峰XxxYyyZzz
变量方法名小驼峰xxxYyyZzz
常量名全部大写XXX_YYY_ZZZ

 2、基本数据类型的长度

byte1字节float4字节
short2字节double8字节
int4字节char2字节
long8字节boolean1字节

3、逻辑运算符注意事项

4、三元运算符 

(我爱你)?娶你:分手;

####如果我真的爱你,那么我就娶你,如果是假的就分手把!

5、循环之switch          //case必须是常量

二、数组

1、foreach循环遍历数组

public static void main(String[] args) {
      double[] arr01 = {1.9, 2.9, 3.4, 3.5};
 
      // 打印所有数组元素
      for (double element: arr01) {
         System.out.println(element);
      }
   }


//直接打印的方法
System.out.println(Arrays.toString(arr01));

2.暂时还没有想到。。。。。。

三、面向对象

1、杂项

1、匿名对象

直接new Object().方法,就是不起名字,直接调用。用于一次性使用或者作为参数。

2、成员变量也就是属性,存在于堆空间,有默认值。

      局部变量存在于栈空间,没有默认值。

3、方法的重载

        在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数
类型不同即可。

4、可变形参

public class test3 {
    public static void main(String[] args) {
        test("a","b","c");
    }
    public static void test(String...str){
        System.out.println(str[1]);             //b
        System.out.println(str.length);         //3
    }
}

5、方法的值传递机制

对于基本数据类型,传入的是实际的数值

对于引用数据类型,传入的是地址值

下面是经典的题,可以试试。

public class test3 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        method(a,b);    //编写方法使得调换a和b的数值。
    }
}

6、将对象作为参数传递给方法,一个比较神奇的设定,你可以把一个的实例塞进去。

7、递归,主要就是递归公式和结束条件两方面。下面写一下n的阶乘~

public class test4 {
    public static void main(String[] args) {
        System.out.println(jiechen(6));
    }
    public static int jiechen(int n) {
        int flag = 0;
        if (n == 1) {
            return 1;
        } else {
            return n * jiechen(n - 1);
        }
    }
}

8、属性的赋值顺序

①默认初始化 ②显式初始化  ③构造器赋值  ④通过方法调用赋值

9、JavaBean

符合①类是公共的②有一个无参的公共构造器③提供get和set方法

10、面试题:==和equals的爱恨情仇

  • == 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,对于引用类型
    就是比较内存地址
  • equals的话,它是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也
    是==;我们可以看到String等类的equals方法是被重写过的,而且String类在日常开发中
    用的比较多,久而久之,形成了equals是比较值的错误观点。
  • 具体要看自定义类里有没有重写Object的equals方法来判断。

11、static关键字

用来修饰属性、方法、代码块、内部类,被static修饰后,随着类的加载而加载,被所有对象共享

2、封装

下面才是真正的走进java面向对象的大门----封装

封装顾名思义就是把一个东西封存起来,至于是哪些东西呢,肯定是见不得人的东西,把一些复杂的结构封装起来,只对外暴露简单的接口,提高了系统的可扩展性和可维护性。

下面的表懒得手打,就直接拉过来了


                                                 ​​​​​​​        2021-12-18AM更


3、构造器(构造方法)

1、构造器就是用来new对象的,并且可以给对象初始化(比如让她天生丽质來),每个类都会提供一个空参构造器,当然你如果不满意可以重载若干个构造器,当你重载后,默认提供的就会偷偷的跑掉。根据习惯,重载时再补上一个空参构造器。需要注意的是,继承时构造器不会被子类继承。

2、如果一个类中声明了n个构造器,则最多有n - 1个构造器中使用了"this(形参列表)"

     在类的一个构造器中,最多只能声明一个"this(形参列表)"

4、继承

        子承父业,发扬光大,说的就是继承后,子类比父类的功能更加强大丰富,减少了代码的冗余,毕竟爸爸打下的天下,我为何还要自己打一遍,那不是造反呢。继承的出现为后面的多态埋下了伏笔。当然需要注意的是,不要为了实现父类一点点的功能而去继承,不值得。

1、继承后获得了父类的属性方法,当然不包括private的属性方法

2、使用extends关键字,不能多继承。

3、方法的重写(与上面的方法重载放一起是面试重点)

  • 方法名与参数列表保持一致
  • 返回值类型不能大于父类
  • 权限修饰符不能小于父类
  • 抛出的异常不能大于父类
  • 用时声明为为static的

4、关于继承后构造器的问题

  • 子类中所有的构造器默认都会访问父类中空参构造器
  • 当父类中没有空参数的构造器时,子类的构造器必须通过this(参数列表)或者super(参数列表)语句指定调用本类或者父类中相应的构造器。同时,只能”二选一”,且必须放在构造器的首行
  • 如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有无参的构造器,则编译出错

5、多态

1、定义:父类的引用指向子类的对象

Person person = new Son();

2、前提条件:①需要存在继承或者实现关系   ②有方法的重写

3、成员变量不具备多态。

4、instanceof方法,判断前者是否是后者的实例或者子类的实例

jiayiing instanceof Person   //true

5、向上转型,向下转型。

6、包装类

1、java设计之初就是一个面向对象的编程语言,然而基本数据类型的出现,就让它变得不那么面向对象,包装类的出现就是为了解决这个问题。

2、接下来就是涉及到基本数据类型,包装类以及String之间相互的转换

①基本数据类型<===>包装类

这里有自动装箱与自动拆箱

②基本数据类型<===>String

public static void main(String[] args) {
        int a = 5;
        String str01 = 5+"";

        String str02 = "6";
        int i = parseInt(str02);
    }

7、设计模式

1、单例设计模式

 单例设计模式就是只会产生一个对象实例,根据生成的时间又分为饿汉式和懒汉式

8、代码块

 9、抽象方法与抽象类

1、含有抽象方法的类一定是抽象类,用abstract修饰。抽象类是被用来继承,抽象类不能被实例化,继承后需要重写抽象方法。

10、接口

1、接口(interface)是抽象方法和常量值定义的集合。

2、 接口中的所有成员变量都默认是由public static final修饰的。
      接口中的所有抽象方法都默认是由public abstract修饰的。

 

 

11、内部类

目前几乎用不到,对于我来说,顾不进行介绍 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681860.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号