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. 14-Perl 引用

    1.Perl 引用引用就是指针.Perl 引用是一个标量类型,可以指向变量.数组.哈希表(也叫关联数组)甚至子程序,可以应用在程序的任何地方.2.创建引用定义变量的时候,在变量名前面加个\,就得到了这 ...

  2. axios配置

    import axios, { isCancel } from 'axios' import { md5 } from 'vux' import util from '@/libs/util' imp ...

  3. 【weixin】微信支付---Native支付模式二(PC端支付大多采用此模式)

    [模式二]:商户后台系统调用微信支付[统一下单API]生成预付交易,将接口返回的链接生成二维码,用户扫码后输入密码完成支付交易.注意:该模式的预付单有效期为2小时,过期后无法支付 模式二与模式一相比, ...

  4. luogu题解P4198楼房重建--线段树神操作

    题目链接 https://www.luogu.org/problemnew/show/P4198 分析 一句话题意,一条数轴上有若干楼房,坐标为\(xi\)的楼房有高度\(hi\),那么它的斜率为\( ...

  5. js相关的时间获取方法

    1.获取时间 var time=new Date();//返回的是GMT,格林尼治标准时间. console.log(time)://Thu Jul 27 2017 16:55:21 GMT+0800 ...

  6. VSCode中Markdown目录显示异常

    更新最新的VSCode之后编辑Markdown文件发现TOC标签的目录格式异常,发现是因为行尾字符导致,必须设置行尾字符进行解决.

  7. 分布式缓存Redis+Memcached经典面试题和答案

    Redis相比memcached有哪些优势? (1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 (2) redis的速度比memcached快很多 ( ...

  8. maven入门-- part5 本地仓库,远程仓库,私服

    解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org ...

  9. C++typedef struct和struct的区别

    #include "pch.h" #include struct struct1 { int a; char b; char* c; }test1;//定义结构体变量 typede ...

  10. sql分页查询(2005以后的数据库)和access分页查询

    sql分页查询: select * from ( select ROW_NUMBER() over(order by 排序条件) as rowNumber,* from [表名] where 条件 ) ...