java学习笔记

今天我们一起来学习Java语言之对象和类与接口中的类的定义与使用的内容吧!!!

首先让我们先温习一下有关类的定义的知识。

Java中的类:

类是一个模板,它描述一类对象的行为和状态。

例:

public class Dog{//类名首字母需大写,这是语法规范
 void barking(){
}
 void eating(){
}
 void sleeping(){
}
String name;
String breed;
int age;
}

一个类可以有多个方法;

类的访问修饰符:1.默认的

2.私有的

3.共有的

4.受保护的

类的构造方法:创建一个对象的时候,至少调用一个构造方法。构造方法的名称必须与类同名。一个类可以有多个构造方法,各构造方法的参数必须各不相同。

类的this关键字:

类的this关键字用于区分当方法的参数变量与类的成员变量重名的情况

public class Dog{
     public Dog(String name){
        this.name=name;//方法参数变量与类的成员变量都叫name,故使用this关键字加以区分,this.name表示类的成员变量name
   }
 private String name;
}

今日一题:

 初步代码:

package step1;

public class Yard {
float area=0.0;
float l=0.0;
double getPeterimeter(){
l=2*length+2*width;
return l;
}
double getAcreage(){
area=length*width;
return area;
}
}

发现问题:

src/step1/Yard.java:4: error: incompatible types: possible lossy conversion from double to float
float area=0.0;
           ^
src/step1/Yard.java:5: error: incompatible types: possible lossy conversion from double to float
float l=0.0;
        ^
src/step1/Yard.java:7: error: cannot find symbol
l=2*length+2*width;
    ^
  symbol:   variable length
  location: class Yard
src/step1/Yard.java:7: error: cannot find symbol
l=2*length+2*width;
             ^
  symbol:   variable width
  location: class Yard
src/step1/Yard.java:11: error: cannot find symbol
area=length*width;
     ^
  symbol:   variable length
  location: class Yard
src/step1/Yard.java:11: error: cannot find symbol
area=length*width;
            ^
  symbol:   variable width
  location: class Yard
src/step1/YardBuilding.java:9: error: constructor Yard in class Yard cannot be applied to given types;
        Yard yard = new Yard(length, width);
                    ^
  required: no arguments
  found: double,double
  reason: actual and formal argument lists differ in length
src/step1/YardBuilding.java:10: error: cannot find symbol
        System.out.print(String.valueOf(yard.getPerimeter()) + ' ' + String.valueOf(yard.getAcreage()));
                                            ^
  symbol:   method getPerimeter()
  location: variable yard of type Yard
8 errors

改进代码:

package step1;
public class Yard {  
    Yard(double length, double width) {    //构造方法  
        this.length = length;  
        this.width = width;  
    }  
    public double getPerimeter() {    //返回周长  
        return (length + width) * 2;  
    }  
    public double getAcreage() {    //返回面积  
        return length * width;  
    }  
    private double length;    //成员变量(长度)  
    private double width;    //成员变量(宽度)  
}  

运行成功!!!

今天的学习分享就到这里,谢谢大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值