zoukankan      html  css  js  c++  java
  • 06---Java基础、面向对象

    一、Java基础

        1、Java概述

               Java语言特点:

     
                      简单性、解释性、面向对象、高性能、分布式处理
     
                      多线程、健壮性、动态、结构中立、安全性、开源、跨平台
     
              jre: Java runtime Environment java运行时环境
     
              JDK:Java Development kit  java开发工具包
     
              JVM: Java Virtual Machine  不同平台虚拟机实现不同
       
        2、Java基础语法
     
               关键字: 全小写  --请看关于关键字详解
     
              标识符: 命名规则
              
         ★★  注释:   注释是一个程序员必须要具有的良好的编程习惯,
     
                       先写思想,再写代码,因为代码只是思想的一种体现形式,
     
                       可能还有很多更好的其他解法,这样就能方便以后重构
     
                      //将项目需求先写在注释上;
     
                      //将自己的解题思路分步骤整理在注释部分;
     
                      //将调试的bug及解决方法写在注释部分;
     
                      //将重要代码、核心代码功能注释出来;
     
              常量:  字面值常量:
                     自定义常量:
              进制:  原码、反码、补码; 进制转换
              变量:
              数据类型:
                       基本数据类型: byte, short, int, long, float, double
                                     char, boolean, 
                       引用数据类型: 类, 接口, 数组
                       String类型是引用类型,然而这个引用类型比较特殊,
     
                               它指向一个字符串,这个字符串的值不能够改变。
     
              强制类型转换:(如果不损失精度,编译器可以帮助强转,)
                           (如果损失精度,必须显示强转)
     
                           站在编译器的角度思考,能理解很多问题的根源
     
              运算符: 算术、赋值、比较、逻辑、位、三目运算符
     
              流程控制: 顺序结构、选择结构(case穿透)、循环结构
                        break、continue
                        当不明确循环次数时,使用while循环
     
              方法: 不可以嵌套
     
              数组: 数组别名问题
                     栈存储局部变量
                     堆存储新建对象
     
    二、面向对象
     
              1、三大特性:
                    封装:
                          访问控制: public:
                                    protected:所有子类、或同包的类可以访问
                                    private:
                                    package:不写修饰符,默认包可访问
                    继承:在执行子类构造函数之前会默认执行父类的构造函数
     
                          用super()显示调用父类的构造函数
     
                          super关键字可以在任意非静态方法中调用父类属性
                    多态:
                          前提条件: 要有继承关系、
     
                                    要有方法覆盖、
     
                                    要有父类引用指向子类对象
                               
                          覆盖 子类覆盖父类方法, 运行时多态
     
                          重载 同一类中参数不同的同名方法, 编译时多态
     
                               多态中成员访问的特点:成员变量、成员方法
     
                               理解在内存中的存放状态
              
                          instanceOf   向下转型是判断某个对象是否属于某个类
     
               
             2、抽象类:  抽象方法不能有方法体
     
             3、接口: 可以理解为技能类,或功能类,谁都可以实现
     
                      接口中所有的方法都是抽象方法
     
                      接口可以多继承
     
                      接口中只可以出现命名常量和方法声明
                        
     
                        局部变量不初始化,编译报错
     
                        成员变量不初始化,初始为0
     
                        理解内存中栈区、堆区的工作原理就能理解所有问题的本质
     
             4、变量的作用域:
     
             5、对象的生命周期:
     
             6、成员变量的隐藏性:局部变量与成员变量同名时,成员变量在该方法体无效
     
                                this关键字
     
             7、Package属性:将相关的类或接口分组,包名表示功能或作用
     
                            解决命名冲突的问题
     
                            属性的包可见特性,     
                     
     
             8、final关键字: 常量     最终
     
                          若修饰成员变量,只能被赋值一次,不能再被改变
     
                          若修饰类,则不能被继承
     
                          若修饰方法,方法不能被覆盖     
     
              9、static关键字:
     
                       静态的成员变量、静态的成员方法,成为类的成员变量,类的方法 
     
                         在内存中只有一份,所有实例化对象共享
     
               10、命名常量:  同时由 static , final修饰,  标识符全大写
     
              11、构造方法:
     
              12、值传递和引用传递:
     
                        深刻理解内存中堆、栈的工作原理
     

     
     





  • 相关阅读:
    Linux 安装apache2时候遇到的问题
    ubuntu安装php时出现error: xml2config not found. Please check your libxml2 installation 的解决办法
    Linux一块网卡绑定2个IP地址
    php 满足条件后跳转的几种方法.
    Linux 安装php 遇到 libtool: link: `ext/date/php_date.lo' is not a valid libtool object
    js 光标移动到输入框最后位置函数
    Linux iptables 防火墙相关命令介绍及使用
    tcpdump的简单选项介绍
    子网掩码转换函数
    Linux 十六进制转换十进制的函数
  • 原文地址:https://www.cnblogs.com/rocomp/p/4771907.html
Copyright © 2011-2022 走看看