java基础第二篇

作者: Mr_欢先生 | 来源:发表于2017-09-23 20:57 被阅读63次
  • 1.一个Java文件可以有多个类,但是只能有一个public 类
  • 2.&&&区别:
    • &&&都可以作为与逻辑与运算符,但是&&有短路的功能。例如if(3>5 && i--)这个判断语句时,i--不会被执行,但是如果是if(3>5 & i--) 会执行i--.
    • &还可以作为位运算符。
  • 3.String类型和基本数据类型的区别
    • Java八大基本数据类型:
      整型: byte short int long
      浮点: float double
      逻辑:boolean
      字符: char
    • String 是个对象,是引用类型。
    • 基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为
  • 4.==equals的区别:
    • == 这个操作符是专门比较两个变量的值是否相等。也就是比较变量对应内存中所存储的数值是否是否相等
    • 比较引用类型时: == 和 equals(默认)都是比较它们的引用地址是否相等
      (引用类型进行比较的时候想要比较它们的值必须要重写 equals 方法)
      而字符串之所以可以使用 equals 去比较两个字符串的值,是因为 String 中默认已经重写了 equals 方法。
    • String a = new String("xiaoming");String b = new String("xiaoming");这两个变量分别指向一个对象,这是两个不同的变量,所指向的首地址是不同的(a,b中存的数值是不同的),但是内容是相同的所以:a == b将返回false,a.equals(b)将返回true;
    • 如果一个类没有自己定义equals方法,它默认的方法是从Object类继承的。而Object类的equals实现代码:boolean equals(Object o){ return this == o; } 所以这时候使用==equals结果是相同的,必须自己覆盖equals方法;
  • 5.静态变量和实例变量的区别
    • 实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
public class Test11 {  
    public static int staticVar = 0;  
    public int instanceVar = 0;  
  
    public Test11() {  
        staticVar++;  
        instanceVar++;  
        System.out.println("staticVar=" + staticVar + ",instanceVar="  
                + instanceVar);  
    }  
  
    public static void main(String[] args) {  
        Test11 test = new Test11();  
        Test11 test1 = new Test11();  
        Test11 test2 = new Test11();  
    }  
}  

执行结果:

staticVar=1,instanceVar=1  
staticVar=2,instanceVar=1  
staticVar=3,instanceVar=1  
  • 6. Integerint的区别
    • int是基本数据类型 Integer是其包装类。
    • int的默认值为0,而Integer的默认值为null。既Integer可以区分出未赋值和0的区别。
  • 7.作用域 public,private ,protected,不写时的区别
public 当前类 同一package包 子孙类 其他package
public
protected
private
friendly
  • 8.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
    • Overload 是重载:方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。
    • Override是重写:父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写.

1.重写必须继承,重载不用。
2.重写的方法名,参数数目相同,参数类型相同,重载的方法名相同,参数列表不同。
3.重写的方法修饰符大于等于父类的方法,重载和修饰符无关。
4.重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常.

  • 9.abstract class 和 interface区别
    • 1、abstract class 本质是类,用abstract修饰类,而interface是接口,将class替换为interface
    • 2、abstract class可以有构造方法,interface不能有
    • 3、abstract class中可以包含普通变量,interface所有的变量都是final static的
    • 4、abstract class中可以包含普通方法,interface中所有的方法都是抽象的。
    • 5、abstract class中除抽象方法不可以是private修饰符外,其它成员任意;而interface中所有成员的修饰符都为public
    • 6、abstract class可以继承一个类实现多个接口,interface只能继承接口

相关文章

  • 深入类和对象——Java基础回炉(二)

    前言 本文是Java基础回炉文集的第二篇,关于文集可通过《Java基础回炉和提升暨文集开篇》了解。 今天这篇文章从...

  • java基础第二篇

    1.一个Java文件可以有多个类,但是只能有一个public 类 2.&&和&区别:&&和&都可以作为与逻辑与运算...

  • 【002期】JavaSE面试题(二):基本数据类型与访问修饰符

    开篇导读:大家好,我是Java面试题库的提裤姐,今天这篇是JavaSE系列的第二篇,主要总结了Java基础语法中访...

  • 夯实基础:Java的注解

    前言 本文是系列文章的第二篇,Java的注解。个人建议先读完第一篇夯实基础:Java的反射,因为在本文的后半部分,...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • 编程基础 - 目录

    目录第一篇:1. java基础第二篇:2. 设计模式与架构第三篇:3. 算法与数据结构基础第四篇:4. 计算机基础...

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • 面试题汇总

    1.Java基础面试问题 Java基础之基础问题 Java基础之面向对象 Java基础之数据结构 Java基础之I...

  • 【Android】知识点汇总,坚持原创ing

    Android基础 Java基础 Java基础——Java内存模型和垃圾回收机制 语法基础 语法基础——C语法基础...

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

网友评论

  • 简_笑:重写时,参数个数和返回值类型不是还要相等吗?我只是记得这样
    简_笑: @Mr_欢先生 哦,也就是说object是个特例?那父类的返回值类型要是string,那他的子类返回值类型除了string,还有吗
    Mr_欢先生: @没心没肺的我
    重写时:方法名、参数个数和参数类型 都必须相同。jdk1.5以后,返回值类型可以与父类相同,也可以与父类不同,但是要求返回值类型是父类的子类。如: 父类的返回值类型是Object类,子类的返回值可以是Object类的子类比如String
  • 司鑫:== 和 equals :
    1. 比较基本类型时: == 是比较它们的值是否相等
    2. 比较引用类型时: == 和 equals(默认)都是比较它们的引用地址是否相等
    (引用类型进行比较的时候想要比较它们的值必须要重写 equals 方法)
    而字符串之所以可以使用 equals 去比较两个字符串的值,是因为 String 中默认已经重写了 equals 方法。
    Mr_欢先生: @Acey 很清晰,我去完善笔记

本文标题:java基础第二篇

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