package Lecture8; public class StaticExample { public static void main(String[] args) { GrayBody one= new GrayBody(315.0, 0.03, 0.9); GrayBody two= new GrayBody(165.0, 100000.0, 1.0); double heat12= one.heatFlow(two); int id= one.getID(); System.out.println("Object 1 ID: " + id + "\nFlujo de calor (miembro): " + heat12); double heat12x= GrayBody.heatFlow(315.0, 0.03, 0.9, 165.0, 1000000.0, 1.0); System.out.println("Flujo de calor (estático): " + heat12); System.out.println("ID del objeto 2: " + two.getID()); System.exit(0); } } class GrayBody { public static final double STEFAN_BOLTZMANN= 5.669E-8; // W/m^2-K^4 private double temp; // Kelvin private double surfaceArea; // m^2 private double surfaceEmissivity; // 0-1 static private int nextID= 8; // Campo de la clase private int ID; // Campo miembro GrayBody(double t, double sa, double se) { temp= t; surfaceArea= sa; surfaceEmissivity= se; ID= nextID++; } public double getTemp() { return temp;} public double getSurfaceArea() {return surfaceArea; } public double getSurfaceEmissivity() {return surfaceEmissivity;} public int getID() {return ID; } // Método miembro (en este ejemplo simple no se han utilizado todos los campos) public double heatFlow(GrayBody other) { double ot= other.getTemp(); return STEFAN_BOLTZMANN / (1+(1-surfaceEmissivity)/surfaceEmissivity)* surfaceArea*(temp*temp*temp*temp - ot*ot*ot*ot); } // Método de la clase (en este ejemplo simple no se han utilizado todos los campos) static public double heatFlow(double t1, double sa1, double se1, double t2, double sa2, double se2) { return STEFAN_BOLTZMANN / (1+(1-se1)/se1)* sa1*(t1*t1*t1*t1 - t2*t2*t2*t2); } }