class Trangle{
double sideA, sideB, sideC, area, length;
boolean flag;
Trangle(double a, double b, double c){//public
if(a < (b + c) && b < (a + c) && c < (a + b)){
sideA = a;
sideB = b;
sideC = c;
flag = true;
}
else
flag = false;
}
double getLength(){//public
length = sideA + sideB + sideC;
return length;
}
double getArea(){//public
if(flag){
double p = (sideA + sideB + sideC)/2.0;
area = Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
return area;
}
else{
System.out.println("This is not a trangle");
return 0;
}
}
void setABC(double a, double b, double c){//public
if(a < (b + c) && b < (a + c) && c < (a + b)){
sideA = a;
sideB = b;
sideC = c;
flag = true;
}
else{
flag = false;
sideA = sideB =sideC = 0;
}
}
} class Lader{
double above,botton,height,area;
Lader(double a,double b, double h){
above =a;
botton = b;
height = h;
}
public double getArea(){
area = (above + botton)*height/2.0;
return area;
}
} class Circle{
double radius, area;
Circle(double r){
if(r > 0)
radius = r;
else
radius = 0;
}
double getRadius(){
return radius;
}
double getArea(){
area = Math.PI * radius * radius;
return area;
}
double getLength(){
return 2 * Math.PI * radius;
}
void setRadius(double r){
if(r > 0)
radius = r;
else
radius = 0;
}
} public class AreaAndLength{
public static void main(String[] args){
double length, area;
Circle circle = null;
Trangle trangle = null;
Lader lader = null;
circle = new Circle(2.0);
trangle = new Trangle(5.0, 3.0, 4.0);
lader = new Lader(4, 8, 5); length = circle.getLength();
System.out.print("\nCircle's length is "+ length);
area = circle.getArea();
System.out.println(". Area is "+ area +".\n"); length = trangle.getLength();
System.out.print("Trangle's length is "+ length);
area = trangle.getArea();
System.out.println(". Area is "+ area +".\n"); area = lader.getArea();
System.out.println("Lader's area is "+ area +".\n"); trangle.setABC(12, 34, 1);
area = trangle.getArea();
System.out.print("This nwe trangle's area is "+ area);
length = trangle.getLength();
System.out.println(". Length is "+ length +".\n");
}
}

trangle类的成员函数加不加public都可以运行成功,什么原因呢?

类中定义成员方法。加不加public有什么区别?的更多相关文章

  1. Java中主类中定义方法加static和不加static的区别

     Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 ...

  2. Java基础(42):Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用,后者必须先实例化后用实例调用)

    package lsg.ap.april4th2; /* 知识点:1.Getter and Setter 的应用 2.局部变量与成员变量(也可叫做全局变量) 3.Static关键字的用法 a.成员变量 ...

  3. JAVA中,一个类中,方法加不加static的区别,

    通俗理解: 1.若是对象的特有行为,(也就是某个实例方法特有的行为),不加static 2. 若是对象集合共有的集合,则加static static类型方法只可以访问静态变量和方法 实例方法可以访问实 ...

  4. MFC 如何在一个类中使用在其他类中定义的变量或函数

    [声明:本文的知识点来源于网络,参考网址:https://blog.csdn.net/bill_ming/article/details/7407848] [以下三种方法亲测有效,可以根据具体情况来选 ...

  5. java类中定义接口

    今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface sh ...

  6. 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针

      您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. ...

  7. c++中在一个类中定义另一个只有带参数构造函数的类的对象

    c++中在一个类中定义另一个只有带参数构造函数的类的对象,编译通不过 #include<iostream> using namespace std; class A { public:  ...

  8. Scala的类中定义内部类实战

    scala独特之处在于可以在类中定义内部类,起到对外屏蔽作用. 类中默认都是public权限.后面将讲解如何引入接口,scala中的接口与java点区别.特质/接口(Trait)

  9. 泛型方法或泛型类中的方法是内部调用、PInvoke 或是在 COM 导入类中定义的。

    泛型基类中引用Api函数定义时static extern,在子类中会提示: 未处理TypeLoadException 泛型方法或泛型类中的方法是内部调用.PInvoke 或是在 COM 导入类中定义的 ...

随机推荐

  1. python安装OpenCV后import cv2报错解决办法

    现在python安装完成后,运行pip install opencv-python安装成功后,import cv2时会失败 看到有人给出下载https://www.lfd.uci.edu/~gohlk ...

  2. luogu题解P2486[SDOI2011]染色--树链剖分+trick

    题目链接 https://www.luogu.org/problemnew/show/P2486 分析 看上去又是一道强行把序列上问题搬运到树上的裸题,然而分析之后发现并不然... 首先我们考虑如何在 ...

  3. Spring特点与工作原理

    根据多个参考资料,总结如下: Spring的概念 Spring是一种多层的J2EE应用程序框架,其核心就是提供一种新的机制管理业务对象及其依赖关系.它是一种容器框架,用于创建bean,维护bean之间 ...

  4. 第十五章、python中的进程操作-开启多进程

    目录 第十五章.python中的进程操作-开启多进程 一.multprocess模块 二.multprocess.process模块 三.Process()对象方法介绍 四.Process()对象属性 ...

  5. dedecms 上传目录路径

    DedeCms已经升级到5.7版本了..可惜附件的目录还是不统一,比如我们从后台把附件目录调整为Ym(默认为Ymd)然而我们的附件路径依然是不一样的比如:Ymd代表年月日从文章里上传路径为:/Ym/1 ...

  6. act_window 属性

    窗口Action(ir.actions.act_window ) 最常用的action类型,用于将model的数据展示出来 字段列表: 1.res_model -- 需要在view里显示数据的mode ...

  7. Mysql(四)-1:单表查询

    一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...

  8. deep_learning_Function_Sklearn_Mode

    API参考:https://scikit-learn.org/stable/modules/classes.html# 作为Python中经典的机器学习模块,sklearn围绕着机器学习提供了很多可直 ...

  9. Centos 安装 kubectl kubelet kubeadm

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://m ...

  10. Ubuntu 18.04 启动太慢不能忍

    检查谁在搞鬼 $ systemd-analyze blame 结果 39.828s plymouth-quit-wait.service 39.311s apt-daily.service 30.93 ...