当前位置:科技动态 > java学习笔记(三):构造器与垃圾收集器,静态

java学习笔记(三):构造器与垃圾收集器,静态

  • 发布:2023-09-09 17:38

对象方法和堆栈的关系

  • 对象及permietive变量生存在堆中,方法调用和变量生存在堆中
  • 方法会被堆在一起,被调用的方法在栈顶

构造函数

public class className(){public className(){...};//构造函数
}

和c++一样;

  • 抽象的类也一样有构造函数,会在子类调用时使用构造函数
  • super()为调用父类构造函数,必须写在子类构造函数的第一句,可省略,不可重复调用构造函数

垃圾收集器 GC(Garbage Collection)

  • 引用永久性离开它的范围
  • 引用被赋值到其它对象上
  • 直接将引用设定为null

静态方法

  • 不需要实例的方法;对方法使用static
    public static int function1();
    调用时 Maht.min(1,2)

*静态方法不能调用非静态方法和非静态变量

静态变量

  • 静态变量是共享的,一个类只有一个
  • 类被加载时即初始化

final

  • 写法:
final int a =10;
final class className{...};
class className{final type function();
}
  • 对于变量 表示变量的值不可改变
  • 对于方法 表示不能被方法不能被覆盖,而c++不同,对于c++:
  • 对于类 final表示不能继承 c++的final一样
  • c++11 增加了final 用法和java的一样 对类和方法都有效
    写法区别于java 作为后缀修饰
    void virtual funtion() final (){...};
    class className final{};
    对于变量 可使用const代替
    补充:
    int GetY() const; //该函数为只读函数,不允许修改其中数据成员的值
    cosnt int* GetPosition(); //表示返回值是常量

primitive 主数据类型的包装

  • 主数据类型名称包括:Boolean,Character,Byte,Short,Integer,Long,Float,Double
  • autoboxing:自动将primitive主数据类型转换为包装过的对象,反之亦成立。
  • 包装类型的方法:
  1. string 转为 int: Integer.parseInt()
  2. double 转为 String: Double.toString()

数字的格式化

  • String,format(“%,d”,1000);//与c中print的格式差不多
  • 日期:
    需要引入包:import www.sychzs.cn;
    完整日期:String.format("%tc",new Date());
    只有时间:Stirng.format("%tr",new Date());
    周月日:String.format("%tA,%tB,%td",today,today,today); = String.format("%tA,%
  • Calendar API

方法:

1.add(int fileld,int amount) //加减时间的值
2.add(int field) //取出指定字段的值
3.getInstance() //返回Calendar,可指定地区
4.getTimeMills() //以毫秒返回
5.roll(int field,boolean up) //加减时间值,不进位
6.set(int field,int value)
7.set(year,month,day, hour,minute) //设定完整时间
8.setTimeMillis(long millis) //以毫秒指定时间

关键字段

DATE;HOUR;MILLISECOND;MINUTE;MONTH;YEAR

静态import

import static java.lang.Math.*;
tan(60);//原为Math.tan()
作用在于偷懒

相关文章