zoukankan      html  css  js  c++  java
  • #Java基础--环境--语法--封装继承--单例模式与多态

    Java基础

    (复习记录Java一些基础知识,到面向对象程序设计一些代码语法规范)

    环境

    JDK、JRE和JVM

    JRE=JVM+JavaSE标准类库
    JDK=JRE+开发工具集(例如Javac编译工具)

    Java程序执行过程

    .java源文件 -编译器-> .class字节码文件 -解释器-> 程序执行

    常量与变量

    float类型变量定义的数据必须在后面加f或F说明,Java中浮点数默认是double类型
    'u0016' Unicode编码,'u'开头
    final定义常量,类似c++中从const

    Java运算符

    &&与,有一个false则后面不执行,&则都要计算
    ||或,有一个true则后面不执行,&则都要计算

    Java语法之循环、数组与方法

    遍历数组写法

        int[] a={33,22,11,45,74,56};
        for (int n:a){
            System.out.print(n+"  ");
        }
    

    包package

    定义包

    导入包

    static定义静态属性和静态方法

    在类中
    普通代码块每次创建对象时调用

    {
    	name="xxx";
    }
    

    静态代码块只执行一次

    static{
    	name="xxx";
    }
    

    继承

    第一行构造方法初始化super()和this()不能同时出现

    Object类

    Object类是所有类的父类

    final修饰类

    单例模式

    package com.singleton;
    
    //饿汉式:创建对象实例的时候直接初始化
    //空间换时间
    public class SingletonOne {
        //1. 创建类中私有构造
        private SingletonOne(){
    
        }
    
        //2. 创建该类型的私有静态实例
        private static SingletonOne instance = new SingletonOne();
    
        //3. 创建公有静态方法返回静态实例对象
        public static SingletonOne getInstance(){
            return instance;
        }
    }
    
    package com.singleton;
    
    //懒汉式:类内实例对象时并不直接初始化,直到第一次调用get方法时才完成初始化的操作
    //时间换空间
    public class SingletonTwo {
        //1. 创建私有构造方法
        private SingletonTwo(){
    
        }
    
        //2. 创建静态的该类实例对象
        private static SingletonTwo instance = null;
    
        //3. 创建公有静态方法返回静态实例对象
        public static SingletonTwo getInstance(){
            if(instance==null)
                instance=new SingletonTwo();
            return instance;
        }
    }
    




    多态

    instanceof运算符,判断对象类型是否一致

    类型转换

    向上转型、隐式转换
    向下转型、强制类型转换

    抽象类abstract

    抽象类不能被实例化,防止编写无意义的代码
    可以通过向上转型,指向子类实例

    抽象方法

    不允许包含方法体
    父类中声明抽象方法,子类中必须实现该抽象方法
    如果子类中不想实现抽象方法,则子类必须也声明为抽象类

    接口

    定义 interface
    实现 implements
    通过接口来描述不同类型具有相似行为特征,从而建立关系后以接口引用指向实现类的方式,来描述不同类型对于接口行为的表现

    接口中方法权限默认public
    当类实现接口时,需要去实现接口中的所有抽象方法,否则需要将该类设置为抽象类
    接口中可包含常量,默认public static final 使用 接口名.常量 访问

    default 修饰接口中默认方法,可以带方法体

    static 修饰接口中静态方法,可以带方法体,接口中的静态方法只能通过接口名来调用

    接口名.super.接口中默认方法名 //调用接口中的默认方法

    成员内部类

    内部类在外部使用时,无法直接实例化,需要借由外部类信息才能完成实例化

    静态内部类

    方法内部类

    匿名内部类

    应用场景:一个类的实例只使用一次
    将类的定义与类的创建放到一起完成


    个性签名:夜空中最亮的星, 请指引我前行!
    如果觉得这篇文章对你有帮助的话, 记得在下面点个"推荐"哦~, 博主在此感谢!!!
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    java学习---集合框架
    java学习--java.util包中常用类
    java学习--java.lang包中常用的类
    JAVA学习--OOP
    Python入门-Hello Word
    【洛谷1452】【模板】旋转卡壳
    【洛谷2766】最长不下降子序列问题(网络流)
    【洛谷3355】骑士共存问题(网络流)
    【洛谷1251】餐巾计划问题(费用流)
    【洛谷3358】最长k可重区间集问题(费用流)
  • 原文地址:https://www.cnblogs.com/kongw/p/14266802.html
Copyright © 2011-2022 走看看