Java学習ノート---クラス、コンストラクション関数の作成、クラスの呼び出し練習
7441 ワード
まとめ:1、Javaファイルごとに共通クラスが1つしかない2、デフォルトアクセス属性のクラスは本パッケージのメンバーにしかアクセスできない3、クラスの3つの特性:パッケージ性、継承性、マルチステート性4、Javaのアクセス権限は4種類あり、修飾子はそれぞれpublic、private、protected、アクセス権限なし修飾子である.(1)public:アクセス制限が最も広い修飾子、修飾されたクラス、属性、メソッドがクラス間アクセス可能およびパケット間アクセス可能(2)デフォルトアクセス権:すなわちアクセス権限を持たない修飾子、デフォルトアクセス権は同じパケットにのみアクセス可能(3)protected:修飾されたクラス、属性、メソッドはクラス自体のメソッドおよびサブクラスにのみアクセスできます.注意:サブクラスが異なるパッケージでもアクセスできます(4)private:アクセス制限が最も狭い修飾子で、修飾されたクラス、属性、メソッドはそのクラスのオブジェクトのみにアクセスでき、サブクラスはアクセスできません.また、パッケージ間でアクセスできません.
練習:
練習:
package mypackage01;
import java.util.Scanner;
public class mydemo
{
public static void main(String[] args)
{
System.out.print("—————— ——————
");
Scanner scanner = new Scanner(System.in);
while (true)
{
System.out.print("—— ——
");
System.out.print("1. \t\t2. \t\t3.
");
System.out.print(" :\t\t :0
");
final int choice = scanner.nextInt();
if (choice == 1)
{
cuboid();
continue;
}
if (choice == 2)
{
cylinder();
continue;
}
if (choice == 3)
{
sphere();
continue;
}
if (choice == 0)
{
break;
}
else
{
System.out.print("!!! !!!
");
continue;
}
}
scanner.close();
System.out.print("—————— ——————
");
}
private static void cuboid()
{
System.out.print("—— ——
");
Scanner scanner = new Scanner(System.in);
System.out.print(" :
");
final double l = scanner.nextDouble();
System.out.print(" :
");
final double w = scanner.nextDouble();
System.out.print(" :
");
final double h = scanner.nextDouble();
System.out.print(" :1\t\t :2
");
final int choice = scanner.nextInt();
if (choice == 1)
{
System.out.printf(" : %.2f
", Stero.cuboidArea(l, w, h));
}
if (choice == 2)
{
System.out.printf(" : %.2f
", Stero.cuboidVolume(l, w, h));
}
else
{
System.out.print("!!! !!!
");
}
}
private static void cylinder()
{
System.out.print("—— ——
");
Scanner scanner = new Scanner(System.in);
System.out.print(" :
");
final double r = scanner.nextDouble();
System.out.print(" :
");
final double h = scanner.nextDouble();
System.out.print(" :1\t\t :2
");
final int choice = scanner.nextInt();
if (choice == 1)
{
System.out.printf(" : %.2f
", Stero.cylinderArea(r, h));
}
if (choice == 2)
{
System.out.printf(" : %.2f
", Stero.cylinderVolume(r, h));
}
else
{
System.out.print("!!! !!!
");
}
}
private static void sphere()
{
System.out.print("—— ——
");
Scanner scanner = new Scanner(System.in);
System.out.print(" :
");
final double r = scanner.nextDouble();
System.out.print(" :1\t\t :2
");
final int choice = scanner.nextInt();
if (choice == 1)
{
System.out.printf(" : %.2f
", Stero.sphereArea(r));
}
if (choice == 2)
{
System.out.printf(" : %.2f
", Stero.sphereVolume(r));
}
else
{
System.out.print("!!! !!!
");
}
}
}
class Stero
{
//
public static double cuboidArea(double l, double w, double h)
{
System.out.print("!!! !!!
");
if (l > 0 && w > 0 && h > 0)
{
Cuboid cuboid = new Cuboid(l, w, h);
return cuboid.area();
}
else
{
return -1.0;
}
}
//
public static double cuboidVolume(double l, double w, double h)
{
System.out.print("!!! !!!
");
if (l > 0 && w > 0 && h > 0)
{
Cuboid cuboid = new Cuboid(l, w, h);
return cuboid.volume();
}
else
{
return -1.0;
}
}
//
public static double cylinderArea(double r, double h)
{
System.out.print("!!! !!!
");
if (r > 0 && h > 0)
{
Cylinder cylinder = new Cylinder(r, h);
return cylinder.area();
}
else
{
return -1.0;
}
}
//
public static double cylinderVolume(double r, double h)
{
System.out.print("!!! !!!
");
if (r > 0 && h > 0)
{
Cylinder cylinder = new Cylinder(r, h);
return cylinder.volume();
}
else
{
return -1.0;
}
}
//
public static double sphereArea(double r)
{
System.out.print("!!! !!!
");
if (r > 0)
{
Sphere sphere = new Sphere(r);
return sphere.area();
}
else
{
return -1.0;
}
}
//
public static double sphereVolume(double r)
{
System.out.print("!!! !!!
");
if (r > 0)
{
Sphere sphere = new Sphere(r);
return sphere.volume();
}
else
{
return -1.0;
}
}
}
class Cuboid extends Stero
{
private double length;//
private double width;//
private double high;//
// 1.0
public Cuboid()
{
this.setLength(1.0);
this.setWidth(1.0);
this.setHigh(1.0);
}
//
public Cuboid(double length, double width, double high)
{
this.setLength(length);
this.setWidth(width);
this.setHigh(high);
}
//
public double getLength()
{
return length;
}
//
public double getWidth()
{
return width;
}
//
public double getHigh()
{
return high;
}
//
public void setLength(double length)
{
this.length = length;
}
//
public void setWidth(double width)
{
this.width = width;
}
//
public void setHigh(double high)
{
this.high = high;
}
//
public double area()
{
return 2 * (this.length * this.width +this.width * this.high + this.high * this.length);
}
//
public double volume()
{
return this.length * this.width * this.high;
}
}
class Cylinder extends Stero
{
private double radius;
private double high;
// 1.0
public Cylinder()
{
this.radius = 1.0;
this.high = 1.0;
}
//
public Cylinder(double radius, double high)
{
this.radius = radius;
this.high = high;
}
//
public double getRadius()
{
return this.radius;
}
//
public double getHigh()
{
return this.high;
}
//
public void setRadius(double radius)
{
this.radius = radius;
}
//
public void setHigh(double high)
{
this.high = high;
}
//
public double area()
{
return 2 * Math.PI * Math.pow(this.radius, 2) + 2 * Math.PI * this.radius * this.high;
}
//
public double volume()
{
return Math.PI * Math.pow(this.radius, 2) * this.high;
}
}
class Sphere extends Stero
{
private double radius;
// 1.0
public Sphere()
{
this.radius = 1.0;
}
//
public Sphere(double radius)
{
this.radius = radius;
}
//
public double getRadius()
{
return this.radius;
}
//
public void setRadius(double radius)
{
this.radius = radius;
}
//
public double area()
{
return 4 * Math.PI * Math.pow(this.radius, 2);
}
//
public double volume()
{
return (4 * Math.PI * Math.pow(this.radius, 3))/3;
}
}