封装:是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。
继承:主要实现重用代码,节省开发时间。
多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。
重载:对于类的方法(包括从父类中继承的方法),方法名相同,参数列表不同的方法之间就构成了重载关系。
覆盖:也叫重写,就是在当父类中的某些方法不能满足要求时,子类中改写父类的方法。当父类中的方法被覆盖了后,除非用super关键字,否则就无法再调用父类中的方法了。
switch:switch语句一定要使用break,否则满足一个语句后,后续语句也会被执行。
父类,子类的继承代码:
package demo1;
public class Triangle extends GeometricObject{
private double side1;
private double side2;
private double side3;
public Triangle(){
side1=1;
side2=1;
side3=1;
}
public Triangle(String color, boolean filled,double side1,double side2,double side3){
super(color,filled);
this.side1=side1;
this.side2=side2;
this.side3=side3;
}
public double getSide1() {
return side1;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public double getSide2() {
return side2;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public double getSide3() {
return side3;
}
public void setSide3(double side3) {
this.side3 = side3;
}
public double getArea(){
double getArea;
double p=(side1+side2+side3)/2;
getArea=Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
return getArea;
}
public double getPerimeter(){
double getPerimeter;
getPerimeter=side1+side2+side3;
return getPerimeter;
}
public String toString(){
return ("这是一个三角形,边长分别是" + side1 + "\t" + side2 + "\t" + side3 +" "+getArea()+" "+getPerimeter());
}
public static void main(String[] args){
Triangle t1=new Triangle("yellow",true,1,1.5,1);
System.out.println(t1.toString());
}
}
public class Car extends Vehicles{
public int seats;
public Car() {
// TODO Auto-generated constructor stub
}
public Car(String brand, String color, int seats) {
super(brand, color);
this.seats = seats;
}
public int getSeats() {
return seats;
}
public void setSeats(int seats) {
this.seats = seats;
}
public void showCar(){
System.out.println("白色奥拓");
}
}
public class Truck extends Vehicles{
public Truck(String brand, String color) {
super(brand, color);
// TODO Auto-generated constructor stub
}
public float load;
public float getLoad() {
return load;
}
public void setLoad(float load) {
this.load = load;
}
public void showTruck(){
System.out.println("黑色皮卡");
}
}
demo1
package v6;
public class GeometricObject {
private String color = "white";
private boolean filled;
private java.util.Date dateCreated;
/** Construct a default geometric object */
public GeometricObject() {
dateCreated = new java.util.Date();
}
/**
* Construct a geometric object with the specified color and filled value
*/
public GeometricObject(String color, boolean filled) {
dateCreated = new java.util.Date();
this.color = color;
this.filled = filled;
}
/** Return color */
public String getColor() {
return color;
}
/** Set a new color */
public void setColor(String color) {
this.color = color;
}
/**
* Return filled. Since filled is boolean, its get method is named isFilled
*/
public boolean isFilled() {
return filled;
}
/** Set a new filled */
public void setFilled(boolean filled) {
this.filled = filled;
}
/** Get dateCreated */
public java.util.Date getDateCreated() {
return dateCreated;
}
/** Return a string representation of this object */
public String toString() {
return "created on " + dateCreated + "\ncolor: " + color
+ " and filled: " + filled;
}
}
package demo1;
public class Triangle extends GeometricObject{
private double side1;
private double side2;
private double side3;
public Triangle(){
side1=1;
side2=1;
side3=1;
}
public Triangle(String color, boolean filled,double side1,double side2,double side3){
super(color,filled);
this.side1=side1;
this.side2=side2;
this.side3=side3;
}
public double getSide1() {
return side1;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public double getSide2() {
return side2;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public double getSide3() {
return side3;
}
public void setSide3(double side3) {
this.side3 = side3;
}
public double getArea(){
double getArea;
double p=(side1+side2+side3)/2;
getArea=Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
return getArea;
}
public double getPerimeter(){
double getPerimeter;
getPerimeter=side1+side2+side3;
return getPerimeter;
}
public String toString(){
return ("这是一个三角形,边长分别是" + side1 + "\t" + side2 + "\t" + side3 +" "+getArea()+" "+getPerimeter());
}
public static void main(String[] args){
Triangle t1=new Triangle("yellow",true,1,1.5,1);
System.out.println(t1.toString());
}
}
demo3
package demo3;
public class Point {
protected int x;
protected int y;
public Point(){
}
public Point(int x,int y){
this.x=x;
this.y=y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public static void main(String[] args){
Point p1=new Point(2,1);
System.out.println("("+p1.x +","+ p1.y+")");
}
}
package demo3;
public class Circle extends Point{
protected double r;
public Circle(){
}
public Circle(int x, int y ,double r){
super(x,y);
this.r=r;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public double findArea(){
double findArea;
findArea=Math.PI*r*r;
return findArea;
}
public static void main(String[] args){
Circle o1=new Circle(1,2,3);
System.out.println("半径"+o1.r+" 面积"+o1.findArea());
}
}
package demo3;
public class Cylinder extends Circle{
protected int h;
public Cylinder(){
this.h = 1;
}
public Cylinder(int x,int y,double r ,int h){
super(x,y,r);
this.h=h;
}
public int getH() {
return h;
}
public void setH(int h) {
this.h = h;
}
public double v(){
double v;
v=h*super.findArea();
return v;
}
public static void main(String[] args){
Cylinder c1=new Cylinder(1,2,3,4);
System.out.println(“(“+c1.x +”,”+ c1.y+”)”+” “+c1.r+” “+c1.findArea()+” “+c1.h+” ” +c1.v());
}
}