Java学习笔记07--时间戳 相关以及format相关 ;MATH类 ;随机数类;java多线程

===============java相关讲解=============

强制类型转换:

基本数据类型的转换

小数据类型---->大的数据类型  自动类型转换

大数据类型----->小数据类型   强制类型转换     
                           小数据类型  变量名 = (小数据类型)大数据类型;

引用数据类型的转换

小数据类型----->大数据类型     自动类型转换。

大数据类型----->小数据类型      强制类型转换

类型转换最场景的问题: java.lang.ClassCastException。 强制类型转换失败。

代码举例:

//动物类
abstract class Animal{
    String name;
    public Animal(String name){
        this.name = name;
    }
    public abstract void run();
}
//老鼠
class  Mouse extends Animal{
    public Mouse(String name){
        super(name);
    }
    public  void run(){
        System.out.println(name+"四条腿慢慢的走!");
    }
    //老鼠特有方法---打洞
    public void dig(){
        System.out.println("老鼠在打洞..");
    }
}
//鱼
class Fish extends Animal{
    public Fish(String name){
        super(name);
    }
    public  void run(){
        System.out.println(name+"摇摇尾巴游啊游 !");
    }
    //吹泡泡
    public void bubble(){
        System.out.println(name+"吹泡泡...!");
    }
}
class Demo2 
{
    public static void main(String[] args) 
    {
        /*
        Animal a = new Mouse("老鼠");  //多态
        //调用子类特有的方法
        Mouse m  = (Mouse)a;  //强制类型转换
        m.dig();
        */
        Mouse m = new Mouse("米老鼠");
        Fish f = new Fish("草鱼");
        print(f);
    }
    //需求: 定义一个函数可以接收任意类型的动物对象,在函数内部要调用到动物特有的方法。
    public static void print(Animal a){ // Animal a   = new Mouse("米老鼠");
        if(a instanceof Fish){
            Fish f = (Fish)a;
            f.bubble();
        }else if(a instanceof Mouse){
            Mouse m = (Mouse)a;
            m.dig();
        }
    }
}

内部类

内部类:一个类定义在另外一个类的内部,那么该类就称作为内部类。
内部类的class文件名: 外部类$内部类. 好处:便于区分该class文件是属于哪个外部类的。

内部类的类别:



===============iOS相关讲解=============

异常处理

Objective – C中提供了异常处理和线程同步,这是解释在这篇文章和“Threading”的支持。要打开这些功能的 支持,使用GNU编译器集(海合会)版本3.3和更高版本的-fobjc-exceptions开关。

支持的编译器指令

@try,@catch,@throw,和 @finally。
代码有可能抛出有可能抛出的异常是封闭在一个@ try块。 @catch()块包含为@ try 块抛出的异常的异常处理逻辑。一个@ finally块包含代码必须执行是否引发异常与否。您可以使用@throw指令抛出一个异常,这基本上是一个对Objective – C对象的指针。你可以使用NSException对象但不限于他们。
“`
@try {
< #statements#>
}
@catch (NSException *exception) { //捕捉最具体的异常类型
< #handler#>

猜你喜欢

转载自blog.csdn.net/liyunxiangrxm/article/details/81533445