JAVA核心技术I---JAVA基础知识(查漏补缺private,static)
一:private对于类和对象(同C++)
private是只有这个类内部可以访问(类的成员函数和定义初始化)
private是类之间的限制,而不是对对象的限制《重点》
同类对象是可以直接访问对象的私有成员
class priTest{
private int age;
public void setAge(int a) {
this.age=a;
}
public int getAge() {
return this.age;
}
public int compare(priTest obj1) {
int flag=;
if(this.age>obj1.age) {
flag=;
}
return flag;
}
}
public class PrivateTest {
public static void main(String[] args) {
priTest p1= new priTest();
priTest p2= new priTest();
p1.setAge();
p2.setAge();
int ret=p1.compare(p2);
System.out.println(ret);
}
}

二:子类对于父类private成员变量的访问
虽然子类无法继承父类的private变量,但是其父类private成员变量和方法依然存在,可以通过父类的公共方法(未重写)去访问到那些字段和方法
class priTest{
private int age;
public void setAge(int a) {
this.age=a;
}
public int getAge() {
return this.age;
}
public int compare(priTest obj1) {
int flag=;
if(this.age>obj1.age) {
flag=;
}
return flag;
}
}
class priSonTest extends priTest{
public void test() {
System.out.println("nothings");
}
}
public class PrivateTest {
public static void main(String[] args) {
priSonTest p2= new priSonTest();
p2.setAge();
System.out.println(p2.getAge());
}
}

二是可以满足一的
三:static类静态变量的访问
C++中static只能通过 类名.静态成员变量 进行访问
但是java中除此之外还有其他访问形式:
1.同C++
2.通过对象可以访问public static成员变量
3.可以通过静态成员函数访问
4.可以通过普通成员函数访问
注意:不允许通过静态成员函数去访问非静态成员变量或者方法
class Parent{
public int a;
public void start() {
System.out.println("paretn");
}
}
class Child extends Parent{
public static int b=;
public void start() {
System.out.println("child");
System.out.println(a);
a+=;
b+=6; //方法四访问
}
public static void change(int c) {
b+=c; //方法三访问
}
}
public class MaintTest {
public static void main(String[] args) {
Child c = new Child();
c.start();
c.change();
System.out.println(Child.b); //方法一访问
System.out.println(c.b); //方法二访问
Child.change();
System.out.println(Child.b);
System.out.println(c.b);
}
}
child
JAVA核心技术I---JAVA基础知识(查漏补缺private,static)的更多相关文章
- JavaScript学习(一)——基础知识查漏补缺
标签script 我们知道,html要使用js就要使用<script>标签. 两种方式: 一是直接在<script>这里</script>写入代码. 二是在别的文件 ...
- Java基础知识查漏 一
Java基础知识查漏 一 Jdk和jre Jdk是java程序设计师的开发工具,只要包含编译程序,jvm和java函数库 Jre中只有jvm和java函数库,没有编译程序的相关工具,适合只运行不撰写j ...
- 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- Go语言知识查漏补缺|基本数据类型
前言 学习Go半年之后,我决定重新开始阅读<The Go Programing Language>,对书中涉及重点进行全面讲解,这是Go语言知识查漏补缺系列的文章第二篇,前一篇文章则对应书 ...
- java基础知识查漏 四
1.JAVA多线程实现方式 (1)继承Thread类,并重写run()方法 (2)实现Runnable接口,,实现run()方法 (3)使用ExecutorService.Callable.Futur ...
- java知识查漏补缺
一.重写(override)和重载(overload)的区别 二者除了名字相似,其实没什么联系 范围不同:重载发生在同一个类的不同方法之间.重写发生在父类和子类自荐. 前提: 重载要求:方法名相同,参 ...
- java基础知识查漏 二
一.java基本数据类型所占的内存大小 在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符 单元的字符类型和1种用于表示真值的boolean类型.( ...
- java基础知识查漏 三
一.Servlet 和Jsp的生命周期 1.Servlet生命周期 Servlet是运行在Servlet容器(有时候也叫Servlet引擎,是web服务器和应用程序服务器的一部分,用于在发 ...
随机推荐
- 在一台服务器上配置多个Tomcat的方法
原文来自:http://blog.csdn.net/lmb55/article/details/49561669 这段时间在开发智能导航的热部署功能,需要从一台服务器去访问其它的24台服务器去进行相关 ...
- 抓包工具Fiddler的使用说明
软件介绍 Fiddler是一个C#实现的浏览器抓包和调试工具,fiddler启用后作为一个proxy存在于浏览器和服务器之间,从中监测浏览器与服务器之间的http/https级别的网络交互.目前可以支 ...
- UOJ275 [清华集训2016] 组合数问题 【Lucas定理】【数位DP】
题目分析: 我记得很久以前有人跟我说NOIP2016的题目出了加强版在清华集训中,但这似乎是一道无关的题目? 由于$k$为素数,那么$lucas$定理就可以搬上台面了. 注意到$\binom{i}{j ...
- Java异步、线程池解决方案
一.ThreadPoolExecutor------线程池 private static final ThreadPoolExecutor threadPoolExecutor = new Threa ...
- 【XSY2745】装饰地板 状压DP 特征多项式
题目大意 你有\(s_1\)种\(1\times 2\)的地砖,\(s_2\)种\(2\times 1\)的地砖. 记铺满\(m\times n\)的地板的方案数为\(f(m,n)\). 给你\(m, ...
- 【JDK源码】将JDK源码导入IDEA中
新建工程 在IDEA中新建普通JAVA工程,步骤如下: 导入源码 首先可以通过如下方法找到工程目录. 在JDK安装目录下找到源码包src.zip,如下图 将src.zip包解压,并将src目录下的内容 ...
- js处理异步的几种方式
Javascript语言的执行环境是"单线程"(single thread,就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推) ...
- luogu2467/bzoj1925 地精部落 (dp)
求1~n组成一个抖动序列的方案数 首先这种序列有一些非常妙妙但我发现不了的性质 1.对于一个抖动序列,如果i和i+1不相邻,则交换i和i+1,他还是个抖动序列 2.对于一个抖动序列,我把每个数拿n+1 ...
- Shiro中的Remember me设置
1. 在Spring的相关配置文件中加入如下Remember me管理器配置: <!-- rememberMe管理器 --> <bean id="rememberMeMan ...
- Codeforces1076D. Edge Deletion(最短路树+bfs)
题目链接:http://codeforces.com/contest/1076/problem/D 题目大意: 一个图N个点M条双向边.设各点到点1的距离为di,保证满足条件删除M-K条边之后使得到点 ...