Java学习重点内容笔记

  1. 命名规范:骆驼命名法,类名所有单词的首字母全部大写,变量第二个单词开始所有首字母全部大写。
public class GetName { }
String firstName="Shen"
  1. main方法必须声明为public,且该方法必须有一个外壳类。
  2. 采用双引号分隔字符串。
  3. 注释的方法:
    //注释内容
    /*注释内容*/
    /**注释内容*/:可自动生成文档。
  4. 判断一个变量是否是数值:Float.isNaN()Double.isNaN(),不可以使用x == Double.NaN进行判断。
  5. 声明一个变量之后必须对变量进行显示初始化,不能使用未初始化的变量。
  6. 声明一个可以在同一个类中的多个方法中使用的常量,即类常量:static final double CM_PER_INCH = 2.54;,若需要使该常量可以被其它类中的方法调用,可以为该常量添加public修饰符,类常量的定义位于main方法的外部,使用final定义常量,且常量通常大写。
  7. 判断两个字符串是否相等:public boolean equals(Object anObject)方法,当比较的标准为字符串字面量时,应将该字面量放在外侧,不能使用==比较两个字符串是否相等,这个运算符只能确定两个字符串是否放置在同一个位置。
String greet = "Hello";
boolean result = "Hello".equals(greet);
String greet = "Hello";
System.out.println(greet.substring(0, 3) == "Hel");
/*false*/
  1. 检查一个字符串既不是null也不是空串:if (greet != null && greet.length() > 0)
  2. 大数值:处理包含任意长度数字序列的数值。
    BigInteger:实现任意精度的整数运算。
    BigDecimal:实现任意精度的浮点数运算。
  3. 输出数组:
int[] numArr = new int[10];
System.out.println(Arrays.toString(numArr));
/* [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] */
  1. 数组初始化:int[] numArr = {1,2,3,4,5};
  2. 允许数组长度为0int[] numArr = new int[0];,数组长度为0null不同。
  3. 数组拷贝:将一个数组拷贝给另一个数组变量,两个变量引用同一个数组。
    方法:Arrays.copyOf(int[] original, int newLength)
    示例:
int[] numArr = {1,2,3,4,5};
int[] newArr=Arrays.copyOf(numArr, numArr.length);
  1. 随机生成一个0~n的整数:int num = (int) (Math.random() * (n + 1));
    生成一个指定范围[min,max]内的数:int num = min + (int) (Math.random() * (max - min + 1));
  2. 静态方法是一种不能向对象实施操作的方法,静态方法可以访问自身类中的静态域,建议使用类名调用静态方法,而不是使用对象调用静态方法。静态方法只能访问静态变量,非静态方法可以访问静态和非静态的方法和变量。
  3. 每一个类可以有一个main方法,main方法常用于对类进行单元测试,如果main方法所属的类是一个更大型应用程序的一部分,就可以使用java Applicaiton运行程序,类的main方法将不会被执行。
  4. 方法参数的使用情况(采用按值调用):
    ① 一个方法不能修改一个基本数据类型的参数:方法得到的是参数的拷贝值,该值在内存中的位置与参数的位置不同,在方法对拷贝值的修改不会影响参数的值。
    ② 一个方法可以修改一个对象参数的状态:
public static void tripleSalary(Employee e){
        e.raiseSalary(200);
    }
Employee employee=new Employee();
tripleSalary(employee);

过程:e被初始化为employee值的拷贝,是一个对象的引用,eemployee是对同一个对象的应用,可以对employee指向的引用的参数进行修改。
③ 一个方法不能让对象参数引用引用一个新的对象。

  1. 方法重载:多个方法有相同的名字,不同的参数(类型和数量不同),便产生了重载。
  2. 当类中提供了至少一个构造器,但是没有提供无参数的构造器,则在构造对象时如果没有提供参数就会被视为不合法,仅当类没有提供任何构造器方法时,系统才会提供一个默认的构造器。
  3. 所有的继承都是公有继承,子类的方法不能访问父类的私有域,子列可以增加域、方法或覆盖父类的方法,但是不能删除继承的任何域和方法。
  4. 子类构造器:使用super调用构造器的语句必须是子类构造器的第一条语句,如果子类的构造器没有显式的调用超类的构造器,则将自动调用超类的默认构造器,如果超类没有不带参数的构造器,并且在子类中没有显式的调用超类的其他构造器,则编译器将报告错误。
 public  Manager(String name,double salary,int year,int month,int day){ 
        super(name,salary,year,day);
 }
  1. 在覆盖一个方法时,子类方法不能低于超类方法的可见性。
  2. final类无法被继承,final方法不能被子类覆盖,final类中的所有方法自动认定为final方法,域也可以被声明为final,对于final域而言,构造对象之后就不允许改变其值,但是如果一个类被声明为final,只有其中的方法自动成为final,而不包括域。
  3. 接口中的所有方法自动属于public,接口中没有实例域,实现接口需要对接口中的所有方法进行定义。实现接口时,必须把方法显式地声明为public,否则该方法地可见性为包可见性,低于接口声明中的可见性。
  4. 接口不是类,不能使用new运算符实例化一个接口,可以声明接口的变量,接口变量必须引用实现了接口的类对象,可以使用instanceof检查一个对象是否实现了某个特定的接口,接口可以被继承,接口中不能包含实例域或静态方法,但是可以包含常量,接口中的域自动设为public static final
  5. 接口与抽象类:
    相同点:接口和抽象类中的方法可以仅声明,不实现。
    不同点:抽象类只能被继承,而一个类只能有一个父类;一个类可以同时实现多个接口。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值