博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习第三天
阅读量:5998 次
发布时间:2019-06-20

本文共 2784 字,大约阅读时间需要 9 分钟。

hot3.png

权限控制
        对类中的属性和方法的可见度

访问权限

控制符                同类           同包         不同             继承

public                可以            可以         可以             可以
default               可以           可以         不可以         不可以
protected           可以           可以         不可以         可以
private                可以          不可以      不可以         不可以

 

类的控制符

public    在本类,同一个包, 不同包都可以访问
default   在本类,同一个包中可以访问,其他的不行

属性/方法

public   在本类,同一个包,不同包都可以访问, 子父类是可以的
default   在本类,同一个包可以访问,其他不行,子父类在同一个包是可以,不同包                    不行

protected  在本类,同一个包,还有继承可以访问,其他的不行

private   在本类可以,其他的不行

 

1.定义一个“点”(Point)类用来表示三维空间中的点(有三个坐标)。要求如下:

A。可以生成具有特定坐标的点对象。
B。提供可以设置三个坐标的方法。
//C。提供可以计算该点距离另一点距离平方的方法。

package com.qianfeng.homework;

public class Point {

 private double x;
 private double y;
 private double z;
 
 public Point() {
 }
 
 public Point(double x, double y, double z) {
  this.x = x;
  this.y = y;
  this.z = z;
 }
 public double getX() {
  return x;
 }
 public void setX(double x) {
  this.x = x;
 }
 public double getY() {
  return y;
 }
 public void setY(double y) {
  this.y = y;
 }
 public double getZ() {
  return z;
 }
 public void setZ(double z) {
  this.z = z;
 }
 
 public void info() {
  System.out.println("Point [x=" + x + ", y=" + y + ", z=" + z + "]");
 }
 
 
 //直接传坐标
 public double distance(double x, double y, double z){
  return Math.sqrt(Math.pow(this.x - x, 2)
    + Math.pow(this.y - y, 2)
    + Math.pow(this.z - z, 2));
 }
 
 //传点对象
 public double distance(Point point){
  return Math.sqrt(Math.pow(this.x - point.getX(), 2) +
    Math.pow(this.y - point.getY(), 2) +
    Math.pow(this.z - point.getZ(), 2));
 }
 
 public void method(){
  Point point = this;
  this.distance(this);
 }
 
 
 
 
 //只需要打印,不需要返回,或者说,不关心它返回值,可以使用void
 public void print(Point point){
  System.out.println("Point [x=" + point.getX() + ", y=" + point.getY()
  + ", z=" + point.getZ() + "]");
 }
 
 //方法传引用类型,需要对引用类型进行修改,这个时候,可以定义方法有返回值
 //也可以无法方法值,建议使用无法返回值
 
 //说白了,【调用方需要需要返回值时候,那方法就定义放回值】
 public void editNoReturn(Point point){
  point.setX(7);
  point.setY(8);
  point.setZ(9);
 }
 
 public Point editHasReturn(Point point){
  point.setX(7);
  point.setY(8);
  point.setZ(9);
  return point;
 }
 
 
 
 //但是,如果调用方想知道方法的执行结果时,或者说,需要通过这个方法返回值进行
 //下一步逻辑处理时,这个时候,需要返回值
 public boolean editNoReturn2(Point point){
  point.setX(7);
  point.setY(8);
  point.setZ(9);
  return true;
 }
 
 
 
 
 
 public static void main(String[] args) {
  /*Point point = new Point();
  FieldQX f = new FieldQX();
  
  System.out.println(point);
  System.out.println(f);*/
  
     //System.out.println( Math.pow(2, 3));
  
  Point point1 = new Point(1, 2, 3);
  Point point2 = new Point(2, 4, 6);
  point1.print(point2);
  System.out.println("-----------------------");
  
  //point1.editNoReturn(point2);
  //point1.print(point2);
  
  /*Point point3 =*/ point1.editHasReturn(point2);
  point1.print(point2);
  
  
  
   /*double x = point2.getX();
  point1.editNoReturn(point2);
  double xx = point2.getX();
  
  if(x == xx){
   System.out.println("改变了");
  }else{
   System.out.println("未改变");
  }*/
  
  if(point1.editNoReturn2(point2)){
   System.out.println("改变了");
  }else{
   System.out.println("未改变");
  }
  
  System.out.println(point1.distance(point2));
  
  
  
  
 }
 
 
 
}

转载于:https://my.oschina.net/u/2542711/blog/539646

你可能感兴趣的文章
Go语言标准库之JSON编解码
查看>>
使用windows search 搜索文件和文件夹(一)
查看>>
“江苏科技”背后有哪些大咖倾力参与?
查看>>
mysql优化
查看>>
mysqldump & binlog做完全备份
查看>>
杨辉三角
查看>>
Zabbix 2.4 —— Trigger Founction
查看>>
centos修改主机名
查看>>
LVS集群的基础概念篇
查看>>
python中read() readline()以及readlines()用法
查看>>
网络知识汇总(1)-朗文和牛津英语词典网址
查看>>
选择排序(C语言实现) 分类: 数据结构 2015-...
查看>>
Java设计模式学习
查看>>
Quartz_1_简单编程式任务调度使用(SimpleTrigger)
查看>>
web api 初体验 解决js调用跨域问题
查看>>
centos 安装docker
查看>>
android studio 查看大纲
查看>>
TCP/IP 和 HTTP 的区别和联系是什么?
查看>>
搜索Modern ObjC数组
查看>>
JAVA与.NET的相互调“.NET技术”用——利用JNBridge桥接模式实现远程通讯
查看>>