Java学习注意事项
一个Java文件中可以包含多个类。
如果有public类,则文件名必须和public类一样。
例如:
class Pie {
void f(){
System.out.println("Pie.f()");
}
} class Cake {
public static void main(String[] args){
Pie x = new Pie();
x.f();
}
} class Cake1 {
public static void main(String[] args){
Pie x = new Pie();
x.f();
}
}
该文件名可以是Cake2.java或者其它。但如果该文件中有public 类,则文件名必须和public 类名一样。
上述文件编译产生如下的文件:
aaarticlea/png;base64,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" alt="" />
编译和运行命令如下:
aaarticlea/png;base64,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" alt="" />
1 关于类的访问权限控制:public 或者什么都不写(包访问权限,其它包的类不能访问该类)。
2 方法和字段的访问权限顺序从大到小:Public, protected, 默认(包访问权限), private。
2.1 protected 修饰的成员,如果其它package中的类继承了该类,就可以访问该成员。比默认的权限高。
3 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
4 由于final变量和static变量可以说都只能存一个数据,他们惟一的区别是static变量是属于类的,是类变量,只会被加载一次。
5 final和abstract 修饰的类,第一个不能继承,第二个继承必须实现存在的abstract方法。
6 abstract方法所在的类必须用abstract修饰。abstract修饰的类不能实例化,可以不存在抽象方法。
关于final
使用final的原因有两个。效率/设计。早期的编译器会针对final方法,进行特殊的优化。但是现在的编译器不推荐用户使用final关键字,
编译器和JVM会去处理相关的效率问题。
特别的,final方法不能被覆盖。因为private方法是不能够继承的,所以private 方法隐式的是final的。
"覆盖"只有在某方法是基类的接口的一部分时才会出现。如果某方法为private,它就不是基类的接口的一部分。
由于private方法无法触及而且能有效的隐藏,所以除了把它看成是因为它所属的类的组织结构的原因而存在外,其他任何事物都不需要考虑到它。
继承的初始化顺序
package reusing;
class Insect{
private int i = 9;
protected int j;
public Insect() {
System.out.println("i = " + i + ", j = " + j);
j = 39;
}
private static int x1 = printInit("static Insect x1.initalized");
static int printInit(String s){
System.out.println(s);
return 47;
}
}
public class Beetle extends Insect{
private int k = printInit("Beetle.k initalized");
public Beetle(){
System.out.println("k = " + k);
System.out.println("j = " + j);
}
private static int x2 = printInit("static Beetle x2.initalized");
public static void main(String[] args){
System.out.println("Bettle Constructor");
Beetle b = new Beetle();
} /*
* static Insect x1.initalized
* static Beetle x2.initalized
* Bettle Constructor
* i = 9, j = 0
* Beetle.k initalized
* k = 47
* j = 39
*
*/
}
继承初始化顺序
构造器中方法调用初始化特点及原则
package ploymorphism; class Glyph {
void draw() {
System.out.println("Glyph.draw()");
} Glyph() {//1-0-0
System.out.println("Glyph() before draw()");//
draw();//
System.out.println("Glyph() after draw()");//
}
} class RoundGlyph extends Glyph {
private int radius = 1;// RoundGlyph(int r) {//1-0
radius = r;//
System.out.println("RoundGlyph.RoundGlyph(), radius = " + radius);//
} void draw() {//3-0
System.out.println("RoundGlyph.draw(), radius = " + radius);//
}
} public class PolyConstructors {
public static void main(String[] args) {
new RoundGlyph(5); //
}
} /*
* 1) 在其它任何事物发生前,将分配给对象的存储空间初始化成二进制的零
* 2) 调用基类构造器。如上例,调用被覆盖后的draw()方法(要在调用RoundGlyph构造器之前调用),
* 由于步骤1的缘故,我们此时发现radius的值为0
* 3) 按照声明的顺序调用成员的初始化方法
* 4) 调用导出类的构造器的主题。
*
*/
/*
* 编写构造器的准则
*
* 用尽可能简单的方法使对象进入状态;
* 如果可以的话,尽量避免调用其它方法;
* 在构造器内唯一安全能够调用的方法是基类中的final(private也自动是final)方法;
* 应该朝着上述的方向努力。
*
*/
构造器
Java中的堆栈实现,用到内部类
class LinkedStack<T> {
/*
* 内部类模拟堆栈,Node<U>也是泛型,它拥有自己的类型参数
*/
private static class Node<U> {
U item;
Node<U> next; Node() {
item = null;
next = null;
} Node(U item, Node<U> next) {
this.item = item;
this.next = next;
} boolean end() {
return item == null && next == null;
}
} private Node<T> top = new Node<T>(); public void push(T item) {
top = new Node<T>(item, top);
} public T pop() {
T result = top.item;
if (!top.end()) {
top = top.next;
}
return result;
} public static void main(String[] args) {
LinkedStack<String> lss = new LinkedStack<String>();
for (String s : "Phaser on stun!".split(" ")) {
lss.push(s);
}
String s;
while ((s = lss.pop()) != null) {
System.out.println(s);
}
}
}
堆栈功能实现
Java能不能实例化访问私有方法?
1 该问题要分情况的,如果在类定义中实例化该对象,则可以通过引用访问该对象的所有内容。
2 如果是在类的定义外实例化,则只可以访问非私有的属性。
java父类的构造器私有了, 怎么继承?
private只能本类中使用,其他的都用不了,所以也不能继承。
不过可以通过曲线救国
在父类里提供一个方法,该方法返回父类的对象,然后子类这时可以通过继承方法获取父类的对象。
一般构造器私有比较常用的就是单态了(工具类有的也这样用或者其他) Java考题练习,继承、访问权限、多态、初始化
class Test {
private int day; private Test(int d) {
day = d;
} private void print() {
System.out.println("I am in Test");
}
} class DemoTest extends Test {
private DemoTest() {
super(2);
} public void print() {
System.out.println("I am in DemoTest");
} public static void main(String[] args) {
DemoTest test = new DemoTest();
test.print();
}
} /*
编译不通过,父类构造器私有,不能继承。把Test的private去掉即可
多态在这里没有发生,子类不能够覆盖父类的私有方法
*/
考题
文件Parcel2还有内部类,编译后是如下的三个class文件
aaarticlea/png;base64,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" alt="" /> StringBuffer的作用以及赋值修改
观察下面的代码
package sunjava; public class Foo {
static void operate(StringBuffer a, StringBuffer b){
a.append(b);
b = a;
}
public static void main(String[] args){
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operate(a, b);
System.out.println(a + "," + b);
}
/*
* append 函数的作用改变a的值,但是b = a 不能够改变b的值
*
* outPut:
* AB,B
*
*/
}
和下面的代码对比,会得出更加直观的效果。
package sunjava; public class No6 {
public static void stringReplace(String textString){
textString = textString.replace("j", "i"); //testString 新赋值了一个,与原来的无关
}
public static void bufferReplace(StringBuffer textBuffer){
textBuffer.append("C"); //textBuffer在原来的上面加了一个C,源字符串被修改
} public static void main(String[] args){
String textString = new String("java");
StringBuffer textBuffer = new StringBuffer("java");
stringReplace(textString);
bufferReplace(textBuffer); System.out.println(textString + textBuffer);
}
/*
* 注意StringBuffer类和String之间的区别
*
* outputs:
*
* javajavaC
*/
}
StringBuffer
- 注意Overrride和Overload之间的不同点
- Java 内部类 分四种:成员内部类、局部内部类、静态内部类和匿名内部类。
- java成员变量的初始化顺序
aaarticlea/png;base64,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" alt="" />
Java学习注意事项的更多相关文章
- Java学习: 面向对象的使用与注意事项
面向对象的使用与注意事项 面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做 ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 一份Java学习路线图
Java学习路线图 本文会持续更新,敬请关注.下划线的文字会在这个博客继续更新. 回顾自己的Java学习经历,从学校的课堂到现在每天的项目开发,一份路线路线图浮出来. 其中有未做好的地方,也有自我感觉 ...
- 【Java学习笔记之二十六】深入理解Java匿名内部类
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...
- java学习笔记之日期日历类
java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...
- Java学习路线图分析
Java学习路线分析图 第一阶段 技术名称 技术内容 J2SE(java基础部分) java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置, ...
- Java学习笔记day_01
Java学习笔记(复习整理) 虽然不知道该怎么写,但是不起步就永远不知道该怎么做..刚开始可能会写的很差劲,但会一点一点变好的. 本笔记是以我按照传智播客的视频和Java核心思想来学习,前面的基础部分 ...
- java学习之路之javaSE基础2
java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...
随机推荐
- glyphicon halflings regular ttf 报错
一个web项目 用了bootstrap chrome开f12报错提示glyphicon halflings regular ttf找不到 为什么找不到,肯定又是path出了问题 找到bootstrap ...
- Eclipse中Jquery报错
在网上看到很多 jQuery-xxx.js 在eclipse中报错的解决方案大多是说 项目右键 Properties->Validation->JSP Content Validator ...
- 【vijos1900】 学姐吃寿司
https://vijos.org/p/1900 (题目链接) 题意 给出一个01环,问最少经过多少次相邻互换使得所有的0聚在一坨,所有的1聚在一坨. Solution 源自:LCF Solution ...
- BZOJ1018 [SHOI2008]堵塞的交通traffic
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- hdu 5269 trie树
现场想到了lowbit(X xor Y)=X和Y从右向左数,对应相同的数的个数+1...然而并没有想到接下来用trie树 然后就想排个序试试...然后就整个人都不好了啊摔 sol:用trie,一边in ...
- Bzoj2434 [Noi2011]阿狸的打字机
Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2536 Solved: 1415 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到 ...
- phpweb /version.php Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link:2. 漏洞触发条件3. 漏洞影响范围4. 漏 ...
- 数据结构算法C语言实现(十二)--- 3.4循环队列&队列的顺序表示和实现
一.简述 空队列的处理方法:1.另设一个标志位以区别队列是空还是满:2.少用一个元素空间,约定以队列头指针在队尾指针下一位置上作为队列呈满的状态的标志. 二.头文件 //3_4_part1.h /** ...
- python实现Linux启动守护进程
python实现Linux启动守护进程 DaemonClass.py代码: #/usr/bin/env python # -*- coding: utf-8 -*- import sys import ...
- 【原】jquery图片预览
平时我们在做图片上传的时候,如果可以让用户选择图片的时候,看到图片的效果,那这样用户体验会好很多,因为用户可以就可以决定是否继续用这张图片,尤其是和ajaxuploadfile结合使用的时候,图片的预 ...