新建包:左上角—新建—包

命名规则(通常从大到小,方便整合不容易冲突)  例如:com.itnba.maya.test

package必须在最顶行,之前不能再有其他代码

使用包:

快捷方式:使用包中的某个变量名alt+/

import 包名.类名;       //只引用包中某一个
import 包名.*; //引用包中所有的 例 import com.itnba.maya.*;

常量:final    (Java中没有真正的常量。只有final型的变量,可以当常量来用。   一次定义,多次使用,不可被更改)

public final String SSSS=" hello world";     //常量名全部用大写

常量的赋值只能在构造函数或者定义时赋值,并且只能赋值一次

静态成员  static     与静态相对应的是“实例”

private static String zhuRen;

//private static 类型 变量;

  

静态成员包括:静态变量和静态方法(函数)

静态变量和方法是属于所有对象共享的(属于类的)  静态方法可以用类名调用  优点:省空间

例:   假设我们设置一个类中有如下代码

package com.itnba.maya.ceshi;

public class Cat {

		private String mingZi="小欢";            //成员变量
private static String zhuRen="王五"; //静态成员变量
private String daXiao="很小"; //成员变量 public static String getZhuRen() { //get获取
return zhuRen;
}
public static void setZhuRen(String zhuRen) { //set更改
Cat.zhuRen = zhuRen;
}
}

然后我们调用

package com.itnba.maya.ceshi;

public class Jiao {

	public static void main(String[] args) {
// TODO 自动生成的方法存根
Cat mao =new Cat();
Cat mao1=new Cat();
Cat mao2=new Cat(); System.out.println(mao.getZhuRen()); //默认的值 mao1.setZhuRen("张三");
System.out.println(mao1.getZhuRen()); //赋值“张三”之后 mao2.setZhuRen("李四");
System.out.println(mao2.getZhuRen()); //赋值“李四”之后
System.out.println(mao.getZhuRen()); // 最后我们再次输出一下默认的值
}
}

 输出结果如下

为什么会出现最后输出默认值时会变成李四? 默认值随着每次更改,跟着更改     静态成员和静态方法的属性:静态变量与静态方法是属于所有对象共享的

静态变量存储数据的时候一定要注意防止共享冲突。

静态方法中只能操作当前类的静态变量和静态方法,不能操作实例变量和实例方法,实例方法中可以调用静态方法

继承   

关键字 extends

可以把父类中的相关内容直接继承到子类,子类就不需要再重新定义。

private 私有的    无法被继承      
public  公共的,protected   同一个包及其它包中的派生类 永远被继承。
不写时默认,只有在当前包中可以被继承。

假设父类中有如下代码

public class DongWu{             //类

 protected String Name;                   //成员变量

public DongWu(String a){                            //构造函数(有参数)

   this.Name=a;                      //传回的参数等于Name

  }

 public void Zou(){                   //成员函数

 System.out.println( this.Name+"在地上跑" );     

  }

}

在其子类中有如下代码  

public class Dog extends DongWu {        //继承自DongWu

	public Dog(String a) {                   //构造函数(有参数)
super("小狗"); } }

 然后在main函数中,我们来测试, 在子类中返回的值是否在父类中可以输出 

public class DongWu {
protected String Name; public DongWu(String a){
this.Name=a;
} public void Zou(){ System.out.println( this.Name+"在地上跑" );
}
}

  效果图如下

 继承的实例化次序

父类的成员定义--父类的构造函数--子类的成员定义-- 子类的构造函数

  

带有构造函数的继承

如果父类中构造函数有参数,在子类构造函数的第一行,必须用super()给父类构造传递参数,调用父类构造。( 例如如上面的代码)

  

Java中,包的概念、常量、静态成员、继承的更多相关文章

  1. java 中包的概念,常量,静态与继承

    一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包 ...

  2. Java中的String与常量池[转帖]

    string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...

  3. Java中的String与常量池

    string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...

  4. 转载:Java中的String与常量池

    转载自http://developer.51cto.com/art/201106/266454.htm.感觉总结的不错,自己收藏一下. string是java中的字符串.String类是不可变的,对S ...

  5. (转)Java中的String与常量池

    Java中的String与常量池 转自:http://developer.51cto.com/art/201106/266454.htm string是java中的字符串.String类是不可变的,对 ...

  6. Java中的集合(六)继承Collection的Set接口

    Java中的集合(六)继承Collection的Set接口 一.Set接口的简介 Set接口和List接口都是继承自Collection接口,它与Collection接口中功能基本一致,并没有对Col ...

  7. Java中的集合(五)继承Collection的List接口

    Java中的集合(五)继承Collection的List接口 一.List接口简介 List是有序的Collection的,此接口能够精确的控制每个元素插入的位置.用户能够根据索引(元素在List接口 ...

  8. Java中的集合(三)继承Collection的Queue接口

    Java中的集合(三)继承Collection的Queue接口 一.Queue介绍 Queue接口继承自Collection接口,是Java中定义的一种队列数据结构,元素是有序的(按插入顺序排序),先 ...

  9. java中包名命名规范

    在idea中创建package遇到的问题 发现一个问题,当我创建一个lesson-02的package时,输入这个包名后,package自动变成了文件夹 在网上搜索发下java包名一般是小写字母进行命 ...

  10. Java中 堆 栈,常量池等概念解析(转载)

    1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符 ...

随机推荐

  1. 《Entity Framework 6 Recipes》中文翻译系列 (42) ------ 第八章 POCO之使用POCO

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第八章 POCO 对象不应该知道如何保存它们,加载它们或者过滤它们.这是软件开发中熟 ...

  2. C#中,使用正式表达式匹配获取所需数据

    .NET中,使用正式表达式匹配获取所需数据 需求:获取一串字符串中,正则匹配出需要的数据. 例如以下字符串: string temp ="ErrorCode:-1,Message:{&quo ...

  3. [大数据之Sqoop] —— 什么是Sqoop?

    介绍 sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具.你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中:也可以把数据从hdfs中导出到关系型数据 ...

  4. 解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程

    解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程 昨天开发人员跟我说,执行一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅 ...

  5. 小谈Java里的线程

    今天,我们来谈一谈Java里的线程. 一.进程与线程的基本概念 大家可能没听过线程这个概念,但是相信,用计算机的朋友都听过进程这个概念.打开电脑的任务管理器,我们就可以看到许多进程.它们主要分为三类, ...

  6. SSIS Data Flow 的 Execution Tree 和 Data Pipeline

    一,Execution Tree 执行树是数据流组件(转换和适配器)基于同步关系所建立的逻辑分组,每一个分组都是一个执行树的开始和结束,也可以将执行树理解为一个缓冲区的开始和结束,即缓冲区的整个生命周 ...

  7. 我为NET狂-----大前端专帖

    http://dnt.dkill.net/Article/Detail/321 本来前端的东西是不想开个专贴的,这样网友容易产生依赖,前端的东西看看书,平时仿照几个网站,遇到问题再调调增加点经验,基本 ...

  8. bootstrap-modal 学习笔记 源码分析

    Bootstrap是Twitter推出的一个开源的用于前端开发的工具包,怎么用直接官网 http://twitter.github.io/bootstrap/ 我博客的定位就是把这些年看过的源码给慢慢 ...

  9. jquery $.each的用法

    通过它,你可以遍历对象.数组的属性值并进行处理. 使用说明 each函数根据参数的类型实现的效果不完全一致: 1.遍历对象(有附加参数) $.each(Object, function(p1, p2) ...

  10. java笔试题

    下面有关JVM内存,说法错误的是? A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的 B.Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接 ...