Java中,包的概念、常量、静态成员、继承
新建包:左上角—新建—包
命名规则(通常从大到小,方便整合不容易冲突) 例如: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中,包的概念、常量、静态成员、继承的更多相关文章
- java 中包的概念,常量,静态与继承
一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包 ...
- Java中的String与常量池[转帖]
string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...
- Java中的String与常量池
string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...
- 转载:Java中的String与常量池
转载自http://developer.51cto.com/art/201106/266454.htm.感觉总结的不错,自己收藏一下. string是java中的字符串.String类是不可变的,对S ...
- (转)Java中的String与常量池
Java中的String与常量池 转自:http://developer.51cto.com/art/201106/266454.htm string是java中的字符串.String类是不可变的,对 ...
- Java中的集合(六)继承Collection的Set接口
Java中的集合(六)继承Collection的Set接口 一.Set接口的简介 Set接口和List接口都是继承自Collection接口,它与Collection接口中功能基本一致,并没有对Col ...
- Java中的集合(五)继承Collection的List接口
Java中的集合(五)继承Collection的List接口 一.List接口简介 List是有序的Collection的,此接口能够精确的控制每个元素插入的位置.用户能够根据索引(元素在List接口 ...
- Java中的集合(三)继承Collection的Queue接口
Java中的集合(三)继承Collection的Queue接口 一.Queue介绍 Queue接口继承自Collection接口,是Java中定义的一种队列数据结构,元素是有序的(按插入顺序排序),先 ...
- java中包名命名规范
在idea中创建package遇到的问题 发现一个问题,当我创建一个lesson-02的package时,输入这个包名后,package自动变成了文件夹 在网上搜索发下java包名一般是小写字母进行命 ...
- Java中 堆 栈,常量池等概念解析(转载)
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符 ...
随机推荐
- Android学习——windows下搭建Cygwin环境
在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...
- Node.js返回JSONP
在使用JQuery的Ajax从服务器请求数据或者向服务器发送数据时常常会遇到跨域无法请求的错误,常用的解决办法就是在Ajax中使用JSONP.基于安全性考虑,浏览器会存在同源策略,然而<scri ...
- 【PRINCE2是什么】PRINCE2认证之七大原则(4)
我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁. 第四个原则:按阶段管理. 阶段管理其实是给高层提供了项目生命周期中相对应的控 ...
- 单节点部署Hadoop教程
搭建HDFS 增加主机名 我这里仅仅增加了master主机名 [root@10 /xinghl/hadoop/bin]$ cat /etc/hosts 127.0.0.1 localhost 10.0 ...
- 没有水果机的也来体验下Visual Studio for Mac
在去年微软已经宣布.NET将实现真正的跨平台,并且发布了Mac和Linux版的Visual Studio Code编辑器,但强大的Visual Studio确只有Windows版. 还坚守.NET开发 ...
- 彻底理解nth-child和nth-of-type的区别。
最近又有些天没写博客了,主要写一篇下来,太浪费时间了,其实这不是根本,根本是最近比较忙,忙什么呢?最近发现一个问题觉得学习速度太慢了,时间倒是花的很多,但大部分时间都花在无意义的事情上,所有打算改变政 ...
- 【原创】开源Math.NET基础数学类库使用(13)C#实现其他随机数生成器
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- iOS开发之微信聊天页面实现
在上篇博客(iOS开发之微信聊天工具栏的封装)中对微信聊天页面下方的工具栏进行了封装,本篇博客中就使用之前封装的工具栏来进行聊天页面的编写.在聊天页面中主要用到了TableView的知识,还有如何在俩 ...
- 教你如何塑造JavaScript牛逼形象
如何写JavaScript才能逼格更高呢?怎样才能组织JavaScript才能让别人一眼看出你不简单呢?是否很期待别人在看完你的代码之后感叹一句“原来还可以这样写”呢?下面列出一些在JavaScrip ...
- C# 原样复制excel工作表
在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...