Java第七课

上完课,一直不理解为什么要构造器,后面在百度了解了下;

如果要使用一个类,肯定离不开JVM。在程序执行中,
JVM通过装载,链接,初始化这3个步骤完成.初始化这一步骤是由构造方法来完成的,
只有初始化后类的对象才可以正常使用
复制代码

课程笔记:

初始化(构造器):初始化类的对象,为属性赋初值
格式:访问修饰词	方法名(参数0-n个){ 方法体}
   1.	访问修饰词(public)
   2.	方法名与类名一致
   3.	没有返回类型
 注:
     1.	当类中没有定义构造器时,则类中默认提供一个缺省构造器(无参构造器)
     2.	当类中含有有参构造器时,则类中不再提供缺省构造器,如果要使用,则需要
        自定义一个无参构造器

this关键词:属性、构造器、方法,只能在类里面
           无继承时初始化顺序:静态---非静态---构造器

包pakage:包就是文件夹
   作用:实现跨包类的重名,方便管理代码
   使用:
         1.	包名.类名(类全名)
         2.	Import

访问修饰词:无继承时
                       public	      protected       不写(默认)	     private
本类			可用		可用		可用		可用
同包下的类		可用		可用		可用		可用
跨包			可用	        不可用	        不可用		不可用

复制代码

作业:创建一个只有一个构造器的类TShape(代表三角形类),该类内部有三个整型数a,b,c分别代表三角形的三条边,构造器接收三个参数并赋值给a,b,c,(验证直接写new TShape()这样来构造三角形会报错,说明原因,如果要让他不报错,应该如何做),该类中有两个方法其中一个area()方法没有参数返回三角形的面积,另一个是判断是不是三角形的方法isT()该方法也没有参数,返回一个boolean型表示是不是三角形,area()方法调用以前要调用isT来决断是不是三角形,如果不是返回-1,再编写一个主函数验证这个类的运行结果。


public class TShape {
    int a;
    int b;
    int c;
    public TShape(int a,int b, int c){
        this.a=a;
        this.b=b;
        this.c=c;
    }
    public void area(){
        double p=(a+b+c)/2;
        double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
        System.out.println(s);
    }
    public boolean isT(){
        return a+b>c&&a+c>b&&b+c>a;
    }
    public static void main(String[] args) {
        TShape san=new TShape(6,6,6);//直接TShape()的话会报错,要求是要有参数传入;
        if (san.isT()){
            san.area();
        }else {
            System.out.println(-1);
        }
    }
}
复制代码

转载于:https://juejin.im/post/5b602c8c6fb9a04fe11af73a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值