格式化代码

This commit is contained in:
2018-06-17 20:31:19 +08:00
parent c47f63d484
commit d089585f2c
851 changed files with 32567 additions and 26715 deletions

View File

@@ -2,10 +2,10 @@ package access;//: access/Cake.java
// Accesses a class in a separate compilation unit.
class Cake {
public static void main(String[] args) {
Pie x = new Pie();
x.f();
}
public static void main(String[] args) {
Pie x = new Pie();
x.f();
}
} /* Output:
Pie.f()
*///:~

View File

@@ -1,18 +1,21 @@
package access;//: access/ChocolateChip.java
// Can't use package-access member from another package.
import access.dessert.*;
public class ChocolateChip extends Cookie {
public ChocolateChip() {
System.out.println("ChocolateChip constructor");
}
public void chomp() {
//! bite(); // Can't access bite
}
public static void main(String[] args) {
ChocolateChip x = new ChocolateChip();
x.chomp();
}
public ChocolateChip() {
System.out.println("ChocolateChip constructor");
}
public void chomp() {
//! bite(); // Can't access bite
}
public static void main(String[] args) {
ChocolateChip x = new ChocolateChip();
x.chomp();
}
} /* Output:
Cookie constructor
ChocolateChip constructor

View File

@@ -1,15 +1,20 @@
package access;//: access/ChocolateChip2.java
import access.cookie2.*;
public class ChocolateChip2 extends Cookie {
public ChocolateChip2() {
System.out.println("ChocolateChip2 constructor");
}
public void chomp() { bite(); } // Protected method
public static void main(String[] args) {
ChocolateChip2 x = new ChocolateChip2();
x.chomp();
}
public ChocolateChip2() {
System.out.println("ChocolateChip2 constructor");
}
public void chomp() {
bite();
} // Protected method
public static void main(String[] args) {
ChocolateChip2 x = new ChocolateChip2();
x.chomp();
}
} /* Output:
Cookie constructor
ChocolateChip2 constructor

View File

@@ -1,12 +1,13 @@
package access;//: access/Dinner.java
// Uses the library.
import access.dessert.*;
public class Dinner {
public static void main(String[] args) {
Cookie x = new Cookie();
//! x.bite(); // Can't access
}
public static void main(String[] args) {
Cookie x = new Cookie();
//! x.bite(); // Can't access
}
} /* Output:
Cookie constructor
*///:~

View File

@@ -1,7 +1,7 @@
package access;//: access/FullQualification.java
public class FullQualification {
public static void main(String[] args) {
java.util.ArrayList list = new java.util.ArrayList();
}
public static void main(String[] args) {
java.util.ArrayList list = new java.util.ArrayList();
}
} ///:~

View File

@@ -2,15 +2,17 @@ package access;//: access/IceCream.java
// Demonstrates "private" keyword.
class Sundae {
private Sundae() {}
static Sundae makeASundae() {
return new Sundae();
}
private Sundae() {
}
static Sundae makeASundae() {
return new Sundae();
}
}
public class IceCream {
public static void main(String[] args) {
//! Sundae x = new Sundae();
Sundae x = Sundae.makeASundae();
}
public static void main(String[] args) {
//! Sundae x = new Sundae();
Sundae x = Sundae.makeASundae();
}
} ///:~

View File

@@ -1,8 +1,9 @@
package access;//: access/ImportedMyClass.java
import access.mypackage.*;
public class ImportedMyClass {
public static void main(String[] args) {
MyClass m = new MyClass();
}
public static void main(String[] args) {
MyClass m = new MyClass();
}
} ///:~

View File

@@ -1,12 +1,13 @@
package access;//: access/LibTest.java
// Uses the library.
import net.mindview.simple.*;
public class LibTest {
public static void main(String[] args) {
Vector v = new Vector();
List l = new List();
}
public static void main(String[] args) {
Vector v = new Vector();
List l = new List();
}
} /* Output:
net.mindview.simple.Vector
net.mindview.simple.List

View File

@@ -3,34 +3,43 @@ package access;//: access/Lunch.java
// effectively private with private constructors:
class Soup1 {
private Soup1() {}
// (1) Allow creation via static method:
public static Soup1 makeSoup() {
return new Soup1();
}
private Soup1() {
}
// (1) Allow creation via static method:
public static Soup1 makeSoup() {
return new Soup1();
}
}
class Soup2 {
private Soup2() {}
// (2) Create a static object and return a reference
// upon request.(The "Singleton" pattern):
private static Soup2 ps1 = new Soup2();
public static Soup2 access() {
return ps1;
}
public void f() {}
private Soup2() {
}
// (2) Create a static object and return a reference
// upon request.(The "Singleton" pattern):
private static Soup2 ps1 = new Soup2();
public static Soup2 access() {
return ps1;
}
public void f() {
}
}
// Only one public class allowed per file:
public class Lunch {
void testPrivate() {
// Can't do this! Private constructor:
//! Soup1 soup = new Soup1();
}
void testStatic() {
Soup1 soup = Soup1.makeSoup();
}
void testSingleton() {
Soup2.access().f();
}
void testPrivate() {
// Can't do this! Private constructor:
//! Soup1 soup = new Soup1();
}
void testStatic() {
Soup1 soup = Soup1.makeSoup();
}
void testSingleton() {
Soup2.access().f();
}
} ///:~

View File

@@ -1,12 +1,18 @@
package access;//: access/OrganizedByAccess.java
public class OrganizedByAccess {
public void pub1() { /* ... */ }
public void pub2() { /* ... */ }
public void pub3() { /* ... */ }
private void priv1() { /* ... */ }
private void priv2() { /* ... */ }
private void priv3() { /* ... */ }
private int i;
// ...
public void pub1() { /* ... */ }
public void pub2() { /* ... */ }
public void pub3() { /* ... */ }
private void priv1() { /* ... */ }
private void priv2() { /* ... */ }
private void priv3() { /* ... */ }
private int i;
// ...
} ///:~

View File

@@ -2,5 +2,7 @@ package access;//: access/Pie.java
// The other class.
class Pie {
void f() { System.out.println("Pie.f()"); }
void f() {
System.out.println("Pie.f()");
}
} ///:~

View File

@@ -1,14 +1,15 @@
package access;//: access/PrintTest.java
// Uses the static printing methods in Print.java.
import static net.mindview.util.Print.*;
public class PrintTest {
public static void main(String[] args) {
print("Available from now on!");
print(100);
print(100L);
print(3.14159);
}
public static void main(String[] args) {
print("Available from now on!");
print(100);
print(100L);
print(3.14159);
}
} /* Output:
Available from now on!
100

View File

@@ -1,8 +1,8 @@
package access;//: access/QualifiedMyClass.java
public class QualifiedMyClass {
public static void main(String[] args) {
access.mypackage.MyClass m =
new access.mypackage.MyClass();
}
public static void main(String[] args) {
access.mypackage.MyClass m =
new access.mypackage.MyClass();
}
} ///:~

View File

@@ -1,8 +1,9 @@
package access;//: access/SingleImport.java
import java.util.ArrayList;
public class SingleImport {
public static void main(String[] args) {
ArrayList list = new java.util.ArrayList();
}
public static void main(String[] args) {
ArrayList list = new java.util.ArrayList();
}
} ///:~

View File

@@ -1,188 +1,188 @@
<?xml version="1.0" ?>
<project
basedir="."
default="run"
name="Thinking in Java, 4th Edition by Bruce Eckel (chapter: access)">
basedir="."
default="run"
name="Thinking in Java, 4th Edition by Bruce Eckel (chapter: access)">
<description>
build.xml for the source code for the access chapter of
Thinking in Java, 4th Edition by Bruce Eckel
Source code available at http://www.MindView.net
See copyright notice in CopyRight.txt
<description>
build.xml for the source code for the access chapter of
Thinking in Java, 4th Edition by Bruce Eckel
Source code available at http://www.MindView.net
See copyright notice in CopyRight.txt
Ant available from: http://jakarta.apache.org/ant
Ant available from: http://jakarta.apache.org/ant
To see options, type: ant -p
To see options, type: ant -p
This file was automatically generated by AntBuilder
</description>
This file was automatically generated by AntBuilder
</description>
<condition property="version1.5">
<equals arg1="1.5" arg2="${ant.java.version}"/>
</condition>
<condition property="version1.5">
<equals arg1="1.5" arg2="${ant.java.version}"/>
</condition>
<target name="net_mindview_util">
<javac
classpath="${basedir}/.."
srcdir="${basedir}/../net/mindview/util/">
<compilerarg value="-Xmaxerrs"/>
<compilerarg value="10"/>
</javac>
</target>
<target name="net_mindview_util">
<javac
classpath="${basedir}/.."
srcdir="${basedir}/../net/mindview/util/">
<compilerarg value="-Xmaxerrs"/>
<compilerarg value="10"/>
</javac>
</target>
<target name="net_mindview_simple">
<javac
classpath="${basedir}/.."
srcdir="${basedir}/../net/mindview/simple/">
<compilerarg value="-Xmaxerrs"/>
<compilerarg value="10"/>
</javac>
</target>
<target name="net_mindview_simple">
<javac
classpath="${basedir}/.."
srcdir="${basedir}/../net/mindview/simple/">
<compilerarg value="-Xmaxerrs"/>
<compilerarg value="10"/>
</javac>
</target>
<target
depends="net_mindview_util,net_mindview_simple"
description="Build all classes in this directory"
name="build">
<fail message="J2SE5 required" unless="version1.5"/>
<echo message="Building 'access'"/>
<javac
classpath="${basedir}/.."
debug="true"
srcdir="${basedir}">
<compilerarg value="-Xmaxerrs"/>
<compilerarg value="10"/>
</javac>
<echo message="Build 'access' succeeded"/>
</target>
<target
depends="net_mindview_util,net_mindview_simple"
description="Build all classes in this directory"
name="build">
<fail message="J2SE5 required" unless="version1.5"/>
<echo message="Building 'access'"/>
<javac
classpath="${basedir}/.."
debug="true"
srcdir="${basedir}">
<compilerarg value="-Xmaxerrs"/>
<compilerarg value="10"/>
</javac>
<echo message="Build 'access' succeeded"/>
</target>
<target name="Cake">
<java
classname="Cake"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="Cake">
<java
classname="Cake"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="ChocolateChip">
<java
classname="ChocolateChip"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="ChocolateChip">
<java
classname="ChocolateChip"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="ChocolateChip2">
<java
classname="ChocolateChip2"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="ChocolateChip2">
<java
classname="ChocolateChip2"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="Dinner">
<java
classname="Dinner"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="Dinner">
<java
classname="Dinner"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="FullQualification">
<java
classname="FullQualification"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="FullQualification">
<java
classname="FullQualification"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="IceCream">
<java
classname="IceCream"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="IceCream">
<java
classname="IceCream"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="ImportedMyClass">
<java
classname="ImportedMyClass"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="ImportedMyClass">
<java
classname="ImportedMyClass"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="LibTest">
<java
classname="LibTest"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="LibTest">
<java
classname="LibTest"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="PrintTest">
<java
classname="PrintTest"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="PrintTest">
<java
classname="PrintTest"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="QualifiedMyClass">
<java
classname="QualifiedMyClass"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="QualifiedMyClass">
<java
classname="QualifiedMyClass"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="SingleImport">
<java
classname="SingleImport"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target name="SingleImport">
<java
classname="SingleImport"
classpath="${java.class.path};${basedir};${basedir}/.."
dir="../access/"
failonerror="true"
fork="true"/>
</target>
<target
depends="build"
description="Compile and run"
name="run">
<touch file="failures"/>
<antcall target="Cake"/>
<antcall target="ChocolateChip"/>
<antcall target="ChocolateChip2"/>
<antcall target="Dinner"/>
<antcall target="FullQualification"/>
<antcall target="IceCream"/>
<antcall target="ImportedMyClass"/>
<antcall target="LibTest"/>
<antcall target="PrintTest"/>
<antcall target="QualifiedMyClass"/>
<antcall target="SingleImport"/>
<delete file="failures"/>
</target>
<target
depends="build"
description="Compile and run"
name="run">
<touch file="failures"/>
<antcall target="Cake"/>
<antcall target="ChocolateChip"/>
<antcall target="ChocolateChip2"/>
<antcall target="Dinner"/>
<antcall target="FullQualification"/>
<antcall target="IceCream"/>
<antcall target="ImportedMyClass"/>
<antcall target="LibTest"/>
<antcall target="PrintTest"/>
<antcall target="QualifiedMyClass"/>
<antcall target="SingleImport"/>
<delete file="failures"/>
</target>
<target description="delete all byproducts" name="clean">
<delete>
<fileset dir="${basedir}" includes="**/*.class"/>
<fileset dir="${basedir}" includes="**/*Output.txt"/>
<fileset dir="${basedir}" includes="**/log.txt"/>
<fileset dir="${basedir}" includes="failures"/>
</delete>
<echo message="clean successful"/>
</target>
<target description="delete all byproducts" name="clean">
<delete>
<fileset dir="${basedir}" includes="**/*.class"/>
<fileset dir="${basedir}" includes="**/*Output.txt"/>
<fileset dir="${basedir}" includes="**/log.txt"/>
<fileset dir="${basedir}" includes="failures"/>
</delete>
<echo message="clean successful"/>
</target>
</project>

View File

@@ -2,10 +2,11 @@
package access.cookie2;
public class Cookie {
public Cookie() {
System.out.println("Cookie constructor");
}
protected void bite() {
System.out.println("bite");
}
public Cookie() {
System.out.println("Cookie constructor");
}
protected void bite() {
System.out.println("bite");
}
} ///:~

View File

@@ -3,8 +3,11 @@
package access.dessert;
public class Cookie {
public Cookie() {
System.out.println("Cookie constructor");
}
void bite() { System.out.println("bite"); }
public Cookie() {
System.out.println("Cookie constructor");
}
void bite() {
System.out.println("bite");
}
} ///:~

View File

@@ -2,5 +2,5 @@
package access.mypackage;
public class MyClass {
// ...
// ...
} ///:~