面向对象语言特性 (一)

(一)  static

作用于 变量,方法,代码块

静态变量:被类的所有对象共享   在类加载时被加载   优先于对象

Student.country = "中国";

静态方法:类名.方法名();
    静态方法中只能调用静态成员

代码块:
       局部:限制局部变量生命周期
       构造:初始化对象的操作
       静态:类的初始化操作,在首次类加载时调用

1.加静态不影响权限修饰
    2.this,super与static不能同时使用

(二)静态导入

import sattic xxxxx.xxx(导入静态成员)

(三)final

修饰类,变量,方法
     内部类

final修饰变量---常量   public static final int a  =10;
     final修饰全局变量,只能在定义的同时赋值,或者在构造器中赋值
          修饰局部变量,可以先定义在赋值

class  X{
    public final int A;

public X(){
        A = 20;
    }

public void fun(){
        final int b;
        b = 20;
    }

}

final修饰的类不能被继承
          且 成员方法默认final修饰

final修饰的方法不能被重写

(四)权限修饰符

(五)abstract

修饰类和成员方法
    父类只知道子类有某种行为但不清楚子类对于该行为的实现细节-->抽象方法
         public abstract void eat();
    含抽象方法的类需定义为抽象类   abstract class Animal{}

除非子类为抽象类,否则当父类有抽象方法时,子类强制要求重写

抽象类不能被实例化(不能被new),但有构造器,提供给子类对象实例化

抽象方法不能用private,final,static修饰

(六)接口 interface

供别人调用的方法或者函数    解决多重继承问题
     implements   可以多实现
    可包含变量和方法,但方法必须为抽象方法(默认public abstract),但变量默认public static final,可以与外界直接访问,为静态常量,值不可修改
    接口中没有构造方法,不能被实例化
    接口与接口之间为继承关系,且接口之间可以实现多继承

(七)内部类

将一个类定义在另一个类或者一个方法里面

成员内部类,局部内部类,匿名内部类,静态内部类

1.成员内部类

    ---相当于类的成员
        可以无条件访问外部类成员属性和成员方法(包括private,静态成员)

外部类调用内部类方法:Inner innner =new Inner();
                  inner.fun();
    主方法中调用内部类方法:Outter outter = new Outter();
                Outter.Inner inner = outter.new Inner();
或:Outter.Inner i = new Outter().new Inner();
    成员内部类只能定义实例成员,不能定义静态成员

2.局部内部类

  --相当于一个方法中的局部变量
        不能有public private protected 及static修饰
           可以访问外部类的普通成员变量和静态成员变量以及普通成员方法和静态方法,也可以访问该内部类所在方法局部变量(但必须用final修饰(默认加))
        不能包含静态成员

3.匿名内部类

继承了类或实现了接口的子类匿名对象
        可以写成成员变量的形式,也可以写在方法中,一般写在方法中较多
        可以访问外部类的普通成员变量和静态成员变量以及普通成员方法和静态方法,也可以访问该内部类所在方法局部变量(但必须用final修饰)
        用于接口回调

4.静态内部类

定义在类内部,static修饰,不依赖外部类,只能使用外部类中静态...

(八)==与equals

==:作用于基本数据类型,比较其储存的值是否相等
       作用于引用类型变量 ,比较所指向的对象的地址
    equals():不能作用于基本数据类型的变量,只能是一个对象来调用,参数也要传一个对象,
    如果未对equals方法重写,则比较的是引用类型变量的变量所指向的对象的地址值
    诸如String Date等类对equal方法进行了重写的话,比较的是所指向内容的对象

(九)toString

Object类中方法,把引用里显示在堆区对象的地址值显示出来,常重写方法

(十)getClass

final修饰,不能被子类重写,,可以返回某一引用在运行时指向对象类型 、
        获取某一对象的字节码文件

(十一)String类

final修饰,不能被继承
        通过char数组保存字符串
        字符串 常量,他们的值在创建后不能更改

字符串缓冲区支持可变的字符串
        StringBuffer   线程安全的可变字符序列   synchronized    
        主要操作:append  insert  
        StringBuilder  可变字符序列

(十二)装箱与拆箱

基本数据类型---包装类
        int--Integer   Integer integer = 10;   自动装箱(-128-127)
               int a = integer;   自动拆箱
        float
        boolean
        double
        char--Character

Integer integer  =  10;      自动装箱     (-128――127)

int a = integer ;     自动拆箱

Core Java(六)的更多相关文章

  1. applet示例 WelcomeApplet.java <Core Java>

    import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.Grap ...

  2. Core Java Volume I — 1.2. The Java "White Paper" Buzzwords

    1.2. The Java "White Paper" BuzzwordsThe authors of Java have written an influential White ...

  3. Core Java Volume I — 4.7. Packages

    4.7. PackagesJava allows you to group classes in a collection called a package. Packages are conveni ...

  4. Core Java Interview Question Answer

    This is a new series of sharing core Java interview question and answer on Finance domain and mostly ...

  5. Core Java 学习笔记——1.术语/环境配置/Eclipse汉化字体快捷键/API文档

    今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...

  6. Core Java读书笔记之String

    Java里面的String Conceptually, Java Strings are sequences of Unicode characters. Java里面的String都是Unicode ...

  7. Top 25 Most Frequently Asked Interview Core Java Interview Questions And Answers

    We are sharing 25 java interview questions , these questions are frequently asked by the recruiters. ...

  8. Difference Between Arraylist And Vector : Core Java Interview Collection Question

    Difference between Vector and Arraylist is the most common  Core Java Interview question you will co ...

  9. Core Java (十一) Java 继承,类,超类和子类

    Core Java (十一) Java 继承,类,超类和子类 标签: javaJavaJAVA 2013-01-22 17:08 1274人阅读 评论(0) 收藏 举报  分类: java(58) 读 ...

随机推荐

  1. 创建一个dynamics CRM workflow (五) - Deploy Custom Workflows

    我们打开plugin registeration tool. 注册一个新的assembly. custom workflow 和 plugin注册的方法还有些不同. 这一步custom workflo ...

  2. python学习小结

    1学习的课程名字叫什么 python:前端初识html,后台基础flask 2怎么输出一句话,用代码举例 输出用:print 例如: 3使用终端工具怎么运行 Python代码 例如我要运行题目2的程序 ...

  3. SQL数据查询2

    USE h CREATE TABLE zy1( empno INT, ename ), job ), mgr INT, hiredate DATE, sal DOUBLE, COOM DOUBLE, ...

  4. bzoj 1293: [SCOI2009]生日礼物 问题转化 + 性质分析 + 滚动数组优化

    Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠,但多个彩 ...

  5. POJ 2115 C Looooops( 简单拓欧 + 快速幂 )

    链接:传送门 题意:题目中给出一个循环 for (variable = A; variable != B; variable += C) ,这个东东还需要 mod 2^k 问至少多次能退出,如果进入死 ...

  6. Linux 中常用的基础命令二

    1.Linux文件分层结构  FHS:Linux有一个组织叫LSB定义的Linux发行版基础目录名称命名法则及功用规定,这种标准叫FHS文件系统层级标准./bin   存放可执行的二进制程序,管理员和 ...

  7. 编译打包部署 Dubbo Admin

    1.下载,Dubbo地址: https://github.com/alibaba/dubbo/tree/2.5.x ,直接ZIP下载 2.解压并打开项目,mvn package 得到war包,如下图: ...

  8. hdu 4717 The Moving Points(三分)

    http://acm.hdu.edu.cn/showproblem.php?pid=4717 大致题意:给出每一个点的坐标以及每一个点移动的速度和方向. 问在那一时刻点集中最远的距离在全部时刻的最远距 ...

  9. [CortexM0--stm32f0308]Low Power Mode

    问题描写叙述 stm32f0308正常是运行在Run mode下.这样的mode是在reset之后的默认模式.Low Power Mode.即低功耗模式.用于在IC空暇时能够考虑选择进入.使系统耗能减 ...

  10. leetcode dfs Palindrome Partitioning

    Palindrome Partitioning Total Accepted: 21056 Total Submissions: 81036My Submissions Given a string  ...