前言

  面向对象是Java中的基本,根源,本篇博客,小编将结合一个点和圆两个类的关系,来好好地整理一下面向对象中的那些事。

点和圆两个类

 一、创建点类Point

1.成员变量:x,y

2.构造方法:Point(doublex,double y)

注意:

关于构造方法

(1)用户未定义构造方法,编译器默认使用无参的构造方法;
(2)若自定义了构造方法后,便没有默认的构造方法,编译器便不给添加了;
(3)构造方法没有返回值,不能添加void关键字。

  此处用户定义了构造方法,便只使用此方法声明创建对象。

关于this关键字

  •  在类的方法定义中,this关键字代表使用该方法的对象的引用;
  • 使用this,可以处理方法中成员变量和参数重名的情况,此处正是这种情况。

3.其他方法:getX()、getY()、setX(double x1)、setY(double y1)

class Point{private double x,y;Point(double x,double y){this.x=x;this.y=y;}public double getX(){return x;  }public double getY(){return y; }public void setX(double x1){x=x1;}public void setY(double y1){y=y1;}}

二、创建圆类Circle

1.成员变量:Point类型的o(点)、double类型的radius(半径)

2.构造方法:两个

3.其他方法:六个

class Circle{private Point o;private double radius;Circle(Point p,double r){o=p;radius=r;}Circle(double r){o=new Point(0.0,0.0);;radius=r;}boolean contains(Point p){double x=p.getX()-o.getX();double y=p.getY()-o.getY();if(x*x+y*y>radius*radius) return false;else return true;}public void setO(double x,double y){o.setX(x);o.setY(y);}public Point getO(){return o;}public double getRadius(){return radius;}public void setRadius(double r){radius=r;}public double area(){return 3.14*radius*radius;}}

创建对象

一、main 方法中创建相关对象

      public static void main(String[] args){Circle c1=new Circle(new Point(1.0,2.0),2.0);Circle c2=new Circle(5.0);System.out.println("c1:("+c1.getO().getX()+","+c1.getO().getY()+"),"+c1.getRadius());System.out.println("c1 area="+c1.area());System.out.println(c1.contains(new Point(1.0,2.0)));}


二、必须使用new关键字创建对象

    创建了两个对象Circle1、、Circle2;

    利用不同的构造方法实现,对象的创建。

三、调用对象的变量和方法

    使用对象引用.成员变量来引用对象的成员变量,如c1.getO();

    使用对象引用.方法(参数列表)来调用对象的方法,如c1.area(),c1.contains(new Point(1.0,2.0));

  (这也体现了同一个类的每个对象共享该类的方法)

四、同一类的每个对象有不同的成员变量存储空间

  Heap:堆里面放new创建的对象,new Circle(new Point(1.0,2.0),2.0);

  Stack:栈里面放局部变量和形参  c1,c2

  dataseg:代码块中放String、静态变量。

运行结果


  


小结

   面向对象里面的基础知识,需要抓牢,夯实基础,才能让自己建立起来的代码框架更加稳固。


感谢您的访问! 

Java学习-面向对象实现点和圆的关系判断相关推荐

  1. Java学习-面向对象基础

    目录 1.设计对象 2.内存机制 3.面向对象实战:购物车案例 4.构造器.this 4.1构造器 4.2 this 5.封装 6.JavaBean 7.成员变量和局部变量 8.案例 1.设计对象 什 ...

  2. Java学习——面向对象编程思想

    目录 一. 基本概念 二. 面向对象与面向过程的区别 三. 面向对象程序设计的类与对象 3.1 对象 3.2 类 四. 面向对象的四大特征 4.1 抽象 4.2 继承 4.3 封装 4.4 多态 1) ...

  3. java学习面向对象之内部类

    什么是面向对象内部类呢?所谓的内部类,即从字面意义上来理解的话,就是把类放到类当中. 那么内部类都有什么特点呢? 1.内部类可以访问包裹他的类的成员. 2.如果包裹他的类想访问被其包裹的类的话就得实例 ...

  4. JAVA学习--面向对象的特征二:继承性

    * 一.面向对象的特征二:继承性 * 1.为什么要设计继承性?  *  * 2.通过"class A extends B"类实现类的继承.  *   子类:A  父类(或基类 Su ...

  5. Java学习-面向对象进阶

    目录 1 static 1.1 static修饰成员变量 1.2 static修饰成员方法 1.3 static注意事项 1.4 工具类 1.5 工具类的应用练习 1.6 代码块 1.6.1 代码块概 ...

  6. Java学习-面向对象进阶二

    目录 1 日期与时间 1.1 Date类 1.2 Date类 1.3 练习--秒杀活动 1.4 Calender 1.5 JDK8新增API 1.5.1 概述 1.5.2 LocalDate.Loca ...

  7. Java学习---面向对象与多维数组

    多维数组 定义: n维数组就是元素为n-1维数组的数组 int[] 数组名 int[][] 数组名 int 数组名 [] int[] 数组名[] 初始化: 1 . 数据类型[][] 数组名 = new ...

  8. java学习——面向对象

    面向对象 java语言是一种以面向对象的思想来设计的编程语言.想要了解面向对象的思想,我们需要了解类和对象的概念,以及类的属性和方法. 1.JAVA中的类和对象 类,简单的说就是某一类事物的总称.举个 ...

  9. java学习面向对象之抽象类

    什么是抽象类,之所以说抽象就是具体的反义词喽~抽象离我们最近的距离也就是初中的时候学过的美术课,抽象画派.拿一桶画彩就这么往画布上一泼,那就是抽象.那么java世界当中什么是抽象呢?我们再拿动物还有狗 ...

最新文章

  1. MyBatis-Spring(四)--MapperFactoryBean实现增删改查
  2. 扫个地用得到5TOPS算力?自动驾驶芯片公司这样说
  3. 【算法竞赛学习】心跳信号分类预测-特征工程
  4. Spring ClassPathXmlApplicationContext
  5. Redis持久化_Redis事务_Redis删除策略
  6. Python批量删除错误图片、修改文件名以及删除重复图片
  7. 谷歌浏览器如何设置flash访问权限
  8. 品高工作流 - 基于InfoPath的自定义表单设计教程
  9. ArcGIS的ArcMap的Mxd格式符号转换为Geoserver style的sld格式
  10. SCI论文图片拼接Tips
  11. python复数什么意思_python 复数是什么意思
  12. 终于搞清楚了:happen-before原则是干什么的
  13. Age Estimation
  14. stm32f103c8t6控制ESP8266与手机APP通信
  15. 好养活的“狗剩儿”和“胖丫儿”。龙芯电脑测评!
  16. 使用C#.NET WebBrowser控件导航到不同的网站出现 所请求的资源正在使用中。 (从HRESULT异常:0x800700AA)
  17. vue集合离线百度地图
  18. [工具集]介绍一波我常用的小工具
  19. 来自一个敲了5年代码的网络安全工程师的自述(目前薪资20K)
  20. 激活函数(阶跃,sigmoid,relu,恒等,softmax)

热门文章

  1. OneUI 5.5.0 for HTML/PHP/VueJS
  2. php的filetype,PHP filetype( )用法及代码示例
  3. 微信小程序|基于小程序+C#制作一个电子书阅读器
  4. 内核月报搜索普通版 代码
  5. TaskExecutor
  6. C#中的DirectoryInfo及FileInfo中的Name属性简记
  7. ❤️ Android IPC 之 Messenger使用 ❤️
  8. 宛如大片,你没见过的气象大数据可视化!
  9. Fastest Image Pattern Matching
  10. 智能音箱终局之战:苹果出局,谷歌超越亚马逊