面向对象语言特性 (一)

(一)  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. wp版笔记本应用源码

    今天在那个WP教程网看到了一个不错的项目,简单的记事本,主要是用到的独立存储文件的操作,TimePicker和DatePicker的是用,数据绑定,界面的参考的chanraycode的,主要是锻炼自己 ...

  2. 编译OpenCV遇到Qmake问题

    1.Ubuntu安装OpenCv,出现:qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or ...

  3. 03--实例讲解虚拟机3种网络模式(桥接、nat、Host-only)

    前言 很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmware有三种网络模式,对初学者来说也比较眼花聊乱,今天我就来基于虚拟机3种网络模式,帮大家普及下虚拟机上网的背景知识.(博文原创自http ...

  4. RabbitMQ学习之队列监控

    对于RabbitMQ的监控,除了服务器基本信息(硬盘.CPU.内存.IO等)以及MQ的进程和端口,我们也可以通过请求url访问管理API监控其集群和队列的情况.在Javaapi 3.6.0以后,cha ...

  5. Nginx的安装与升级

    1,构建Nginx服务器; 2.升级版本; 一, 构建Nginx服务器 1.使用源码包安装nginx软件包 # yum -y install gcc pcre-devel openssl-devel  ...

  6. luogu P2634 [国家集训队]聪聪可可 点分治

    Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好 ...

  7. python3发送邮件

    import smtplib from email.mime.text import MIMEText from email.utils import formataddr import psutil ...

  8. jemeter安装步骤

    1.jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi 2.在安装jmeter之前首先要安装jdk1.8以上版本,朋友们,千万不要忘了 jd ...

  9. Ubuntu18.04 安装 oh-my-zsh

    目录 Ubuntu18.04 安装 oh-my-zsh 目录 安装zsh 安装curl 安装oh-my-zsh 使用zsh替换bash 修改终端主题和配色 修改终端配置 隐藏用户和主机名 效果图 Ub ...

  10. Problem 6

    Problem 6 # Problem_6.py """ The sum of the squares of the first ten natural numbers ...