类中定义成员方法。加不加public有什么区别?
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有什么区别?的更多相关文章
- Java中主类中定义方法加static和不加static的区别
Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 ...
- Java基础(42):Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用,后者必须先实例化后用实例调用)
package lsg.ap.april4th2; /* 知识点:1.Getter and Setter 的应用 2.局部变量与成员变量(也可叫做全局变量) 3.Static关键字的用法 a.成员变量 ...
- JAVA中,一个类中,方法加不加static的区别,
通俗理解: 1.若是对象的特有行为,(也就是某个实例方法特有的行为),不加static 2. 若是对象集合共有的集合,则加static static类型方法只可以访问静态变量和方法 实例方法可以访问实 ...
- MFC 如何在一个类中使用在其他类中定义的变量或函数
[声明:本文的知识点来源于网络,参考网址:https://blog.csdn.net/bill_ming/article/details/7407848] [以下三种方法亲测有效,可以根据具体情况来选 ...
- java类中定义接口
今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface sh ...
- 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针
您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. ...
- c++中在一个类中定义另一个只有带参数构造函数的类的对象
c++中在一个类中定义另一个只有带参数构造函数的类的对象,编译通不过 #include<iostream> using namespace std; class A { public: ...
- Scala的类中定义内部类实战
scala独特之处在于可以在类中定义内部类,起到对外屏蔽作用. 类中默认都是public权限.后面将讲解如何引入接口,scala中的接口与java点区别.特质/接口(Trait)
- 泛型方法或泛型类中的方法是内部调用、PInvoke 或是在 COM 导入类中定义的。
泛型基类中引用Api函数定义时static extern,在子类中会提示: 未处理TypeLoadException 泛型方法或泛型类中的方法是内部调用.PInvoke 或是在 COM 导入类中定义的 ...
随机推荐
- Jenkins常用插件介绍
摘要: 对于中小型运维团队,jenkins作为运维利器,可以解决很多工作中的痛点.基于UI的特性从而让使用者的入门成本很低,基于插件可以具备认证,记录,条件触发以及联动,让运维工程师可以将精力放在业务 ...
- QT获取屏幕分表率(PC、安卓)
QRect screenRect = QGuiApplication::primaryScreen()->geometry(); double devicePixelRatio = QGuiAp ...
- centos7.4 安装 .net core 2.2
Step 1:首先注册Microsoft签名密钥,每台机器注册一次就行. sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/pack ...
- 【原创】大叔经验分享(58)kudu写入压力大时报错
kudu写入压力大时报错 19/05/18 16:53:12 INFO AsyncKuduClient: Invalidating location fd52e4f930bc45458a8f29ed1 ...
- jQuery-menu-aim 电商菜单栏demo
最近要修改一个电商网站的菜单,引用了jQuery-menu-aim的插件,因此,去找了几个资料: 参考GitHub地址: https://github.com/kamens/jQuery-menu-a ...
- js扩展Date对象的方法,格式化日期格式(prototype)
扩展:Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, ...
- 文本分析:初识Gensim
作者:doze_worm来源:https://www.douban.com/note/620615113/ gensim 起步:本节介绍理解和使用 gensim 所必须的基础概念和术语,并提供一个简单 ...
- 学习--Spring IOC源码精读
Spring核心IOC的源码分析(转载) 原文地址:https://javadoop.com/post/spring-ioc#toc11 转载地址:https://blog.csdn.net/nuom ...
- 分布式消息中间件之kafka设计思想及基本介绍(一)
Kafka初探 场景->需求->解决方案->应用->原理 我该如何去设计消息中间件--借鉴/完善 场景 跨进程通信(进程间生产消费模型) 需求 基本需求 实现消息的发送和接收. ...
- Visual Studio 添加 自定义 路径宏
在编辑VS工程包含路径和库路径时,有时需要添加第三方包的路径,比如c++ boost库, 为了协作的方便,不合适直接把本地绝对路径添加入工程设置,此时可以添加自定义路径宏, 然后参与协作的每个开发人员 ...