1、包

  三级命名:公司的尾缀(com).公司名字(baidu).业务(Sale)

  java.lang:默认包:String、Math,Object,System

  java.util:工具包

  java.io:输入输出包

  java.net:网络开发包

  java.awt:图形界面开发包

  java.swing:也是图形界面开发包

2、访问控制

  private:私有的:只能在自己的类中使用

  default: 默认的:同包中可以使用。当子类继承父类,实例化子类后,跨包不可以使用。

  protected:保护的:同包中可以使用,不同包时,子类继承父类,实例化子类后,挎包可以使用。

  public:公有的:可以在任何包类中使用

3、静态关键字static

 static关键字用来修饰变量、方法、内部类称这些变量、方法和内部类为静态变量、静态方法、静态内部类,放在静态内存区;

  使用动态的时候,这些变量方法在对象实例化后,随时用随时创建,用完消失,所以为动态的。

  静态的随类产生,随类消亡,会占内存,对象不调用的时候也不消失。

  构造器不能使用static修饰,因为构造器参与new实例化动态创建,所以动静矛盾。

  什么时候用静态:当实例化好多对象时候,确认其中一个属性和方法其值不会改变(方法就是参数返回值一致),就可以将其定义为静态的

  用static声明的成员变量都将在静态内存区存储,不受实例化影响,随类而生随类而死,可以使用类.的形式调用。如果通过对象调用,其底层其实也是依据类.的形式调用;static的属性能够存储值,你不改变它,它就不变。

4、静态初始化块

   

public class C extends C0{
private static int age;
static{
System.out.println(1);
}
{
System.out.println(2);
}
C(){
System.out.println(3);
}
public static void main(String[] args) {
System.out.println(new C());
}
}
class C0{
static {
System.out.println(4);
}
{
System.out.println(5);
}
C0(){
System.out.println(6);
}
}

输出4 1 5 6 2 3

  父类中静态代码块>子类中静态代码块>父类动态代码块>父类构造器>子类静态代码块>子类构造器>子类方法

5、final关键字

  final——用于类、方法、变量前

  final类不能被继承:常用的fanal太监类:String、Math;

  final方法不能被重写覆盖;

  final属性不能被更改。

  

  常量声明:public static final double PI(常量用大写)= 3.1415926;

6、abstact抽象:

  implements:实现 宿主

  A、有抽象方法的成员类一定是抽象类

  B、子类继承了抽象类,该子类要么实现抽象方法,要么自己本身是抽象类。

  C、抽象类不能实例化。

7、interface接口

  java中为单根继承,灵活度不够。而类和接口可以多实现,接口之间可以多继承,接口不可以继承类!

  接口中默认为public,而不是default

类可以先继承父类,再实现接口

八、多态(polymorphism)——前提是继承

  java的引用变量有两个类型:一个是编译时的类型,一个是运行时的类型

 编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定,如果编译时类型和运行时类型不一致就出现多态。

  方法和变量的使用:子类重写父类的方法或同名的属性,按照子类走;子类没有的方法属性按父类走;子类新创建的属性和方法,无法使用;非要使用就是用强转(A是儿子,A0是父亲,plan()是新方法,((A)a1).plan())。

用法:  

1、虚方法:用引用变量类型对象的栈来限制该对象可以调用的方法;

2、形参多态:在形参位置只写父类类型加变量,在调用时,在形参列表中实例化子类对象即可。

3、返回值多态:可用来实例化对象,根据子类的对象类型,来通过父类类型,创建子类对象

九、instanceof运算符

  可以使用该运算符得到对象的类型。

  判断一个对象时候是一个类的实现对象。

  判断一个对象时候实现了一个接口。

  a instanceof A;

9、包、访问控制、import、static、static代码块、final、抽象类、接口、instanceof、多态的更多相关文章

  1. 5、static、final、匿名对象、内部类、包、修饰符、代码块

    final关键字 final关键字概念 * A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写. ...

  2. Java之static静态代码块

    Java之static静态代码块 构造代码块 使用{}包裹的代码区域,这里的代码区域特指位于class{}下面的而不是存在于其他type method(){}这类函数下面的代码区域 public cl ...

  3. java 中的静态(static)代码块

    类字面常量 final 静态域不会触发类的初始化操作 非 final static 静态域(以及构造器其实是一种隐式的静态方法) Class.forName():会自动的初始化: 使用 .class来 ...

  4. static{}静态代码块与{}普通代码块之间的区别

    先看一个例子: //class A package com.my.test; class A { static { System.out.println("A1:父类静态代码区域" ...

  5. Java static 静态代码块、代码块

    简述 static{} 静态代码块,加载类之前执行 {} 代码块,每次new的时候都会被执行 示例 类: public class Student { int age; String name; bo ...

  6. Java-静态关键字Static&静态代码块

    静态成员变量:(static修饰变量) 如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类.多个对象共享同一份数据. 静态方法:(static修饰方法) 一旦使用 ...

  7. -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal

    java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型  也就是 ...

  8. [Day13]static、final、匿名对象、内部类、包、修饰符、代码块

    1.final-最终 (1)final的特点 final修饰类不可以被继承,但是可以继承其他类 final修饰的方法不可以被覆盖,但父类中没有final修饰方法,子类覆盖后可以加final final ...

  9. 13_Java面向对象_第13天(static、final、匿名对象、内部类、包、修饰符、代码块)_讲义

    今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 01final关键字概念 A: 概述 继承的出现提高了代码的复 ...

  10. Java面向对象(static、final、匿名对象、内部类、包、修饰符、代码块)

    面向对象 今日内容介绍 u final u static u 匿名对象 u 内部类 u 包的声明与访问 u 四种访问修饰符 u 代码块 第1章 final关键字 1.1 final的概念 继承的出现提 ...

随机推荐

  1. 前后端分离开发,跨域访问的apche设置

    1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把 ...

  2. ajax的两种使用方式

    一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都 ...

  3. 赵雅智_使用SQLiteDatabase操作SQLite数据库及事务

    知识点具体解释:http://blog.csdn.net/zhaoyazhi2129/article/details/9025995 详细代码: MainActivity.java package c ...

  4. BestCoder Round #52 (div.2) HDU 5418 Victor and World (DP+状态压缩)

    [题目链接]:pid=5418">click here~~ [题目大意]: 问题描写叙述 经过多年的努力,Victor最终考到了飞行驾照. 为了庆祝这件事,他决定给自己买一架飞机然后环 ...

  5. c/c++常见试题

  6. swift算法手记-7

    @IBAction func compute(sender: AnyObject) { // 19*x^7-31*x^5+16*x^2+7*x-90=0 // newton迭代法求一元方程的解,最大求 ...

  7. Perl怎样过滤html标签

    比方一串字符串 <div><b>123</b></div> 假设仅仅想拿到123怎么办呢? 用perl的正則表達式能够非常easy的做到. $str = ...

  8. 使用Dagger2创建的第一个小样例

    将Dagger系列的咖啡壶样例再做一下简化,作为Dagger2的入门的第一个小样例. 场景描写叙述:有一个电水壶,它使用一个加热器来烧水.电水壶具备的功能有:開始加热(on方法),结束加热(off方法 ...

  9. QT中|Qt::Tool类型窗口自动退出消息循环问题解决(setQuitOnLastWindowClosed必须设置为false,最后一个窗口不显示的时候,程序会退出消息循环)

    为application 设置setQuitOnLastWindowClosed属性,确实为true: 将其显示为false; 退出该应该程序不能调用QDialog的close消息槽,只能调用qApp ...

  10. CoreData 从入门到精通(二) 数据的增删改查

    在上篇博客中,讲了数据模型和 CoreData 栈的创建,那下一步就是对数据的操作了.和数据库一样,CoreData 里的操作也无非是增删改查.下面我们将逐步讲解在 CoreData 中进行增删改查的 ...