zoukankan      html  css  js  c++  java
  • 2019-05-17 Java学习日记 day7

    1.面向对象

    构造方法:给对象的数据(属性)进行初始化

    构造方法特点:

    方法名与类名相同(大小也要与类名一致)没有返回值类型,连void都没有,没有具体的返回值 return

     

    注意事项:如果没有给出构造方法,系统将自动提供一个,无参构造方法

    如果给出了构造方法,系统将不再提供默认的无参构造方法

    如果还想使用无参构造方法,就必须自己给出,建议永远自己给出无参构造方法

    class democonstructor
    {    public static void main (String args []){
             person p =new person();  //在一创建对象的时候,系统就帮我调用了构造方法
    }
    }
    class person{
        private String name;
        private int age;
             
             public person(){};
            public person(){
             System.out.println("hello world");
             return;
            }
    }
    无参与有参

    重载:方法名相同,与返回值类型无关(构造方法没有返回值)只看参数列表

    class democonstructor2
    {
        public static void main (String args []){
          person p1=new person();
          p1.show();
          System.out.println("-----------");
    
          person p2=new person("小黑",23);
         p2.show();
    }
    }
    class person{
        private String name;
        private int age;
    
        public person(){
            System.out.println("空参");
        }
            public person(String name,int age){
            this.name=name;
            this.age=age;
            System.out.println("有参");
            }
            public void show(){
             System.out.println(name+"..."+age);
            }
    
    }
    成员变量的两种方式
    class  democonstructor3
    {
        public static void main (String args[]){
         person p1=new person("张三",20);
         System.out.println(p1.getname()+" "+p1.getage());
         System.out.println("----------------");
         person p2=new person();
         p2.setname("小黑");
         p2.setage(30);
         System.out.println(p2.getname()+" "+p2.getage());
    }
    }
    class person
    { 
        private String name;
        private int age;
        public person(){}
    
        public person(String name,int age){
                this.name=name;
                this.age=age;
        }
        public void setname(String name){  //设置姓名
         this.name=name;
        }
        public String getname(){   //获取姓名
          return name;
        }
        public void setage(int age){  //设置年龄
         this.age=age;
        }
        public int getage(){   //获取年龄
          return age;
        }
    }
    练习题
    class democonstructor5
    {
            public static void main (String args[]){
                phone p1=new phone();
                p1.setname("索尼");
                p1.setprice(3200);
                System.out.println(p1.getname()+p1.getprice());
                phone p2=new phone("iphone",5500);
                p2.show();
            }
    }
    class phone{
        private String name;
        private int price;
    
        public phone(){}
        public phone(String name,int price){
         this.name=name;
         this.price=price;
        }
        public void setname(String name){
        this.name=name;
        }
        public String getname(){
            return name;
        }
        public void setprice(int price){
        this.price=price;
        }
        public int getprice(){
            return price;
        }
        public  void show(){
        System.out.println("品牌:"+name+",价格:"+price);
        }
    }
    手机练习题

    static:静态方法

    随着类的加载而加载  优先于对象存在

    被类的所有对象共享  可以通过类名调用

    共性用静态  特性用非静态

    class tsetstatic1
    {
        public static void main (String args[]){
        person p1=new person();
        p1.name="hello";
        p1.price="world";
        p1.speak();
    
        person p2=new person();
        p2.name="hey";
        p2.speak();
        }
    }
    class person{
        String name;
        static String price;    //可以共用 
    
        public void speak(){
        System.out.println(name+"...."+price);
        }
    }
    例子

    注意事项:

    在静态方法重是没有this关键字的,静态是随着类的加载而加载,this是随着对象的创建而存在

    静态比对象先存在

    静态方法只能访问静态的成员变量和静态的成员方法

      静态方法:

        成员变量:只能访问静态变量

        成员方法:只能访问静态成员方法

      非静态:

        成员变量:可以是静态的,也可以是非静态的

        成员方法:可以是静态的成员方法,也可以是非静态的成员方法

    class demostatic
    {
        public static void main (String args []){
            demo d=new demo();
            d.print1();
    }
    }
    class demo
    {
        int num1=10;       
        static int num2=20;
        public void print1(){
            System.out.println(num1);
            System.out.println(num2);
        }
    }
    例子

    静态变量也叫类变量  成员变量也叫对象变量

    所属不同:

      静态变量属于类,所以也称为类变量

      成员变量属于对象,所以也称为实例变量(对象变量)

    内存中位置不同:

      静态变量存储于方法区的静态区

      成员变量存储于堆内存

    内存出现时间不同:

      静态变量随着类的加载而加载,随着类的消失而消失

      成员变量随着对象的创建而存在,随着对象的消失而消失

    调用不同:

      静态变量可以通过类名调用,也可以通过对象调用

      成员变量只能通过对象调用

    main方法:

    格式 public static void main (String [ ] args) { };

    public:被jvm调用,所以权限要足够大
    static:被jvm调用,不需要创建对象,直接类名。调用即可
    void:被jvm调用,不需要任何的返回值
    main:只要这样写才能被jvm识别,main不是关键字
    String args []:以前是用来接受键盘录入的

    Math类的随机数功能:

       Math.random()会生产大于等于0.0并且小于1.0的伪随机数

    class Demo2_Math {
        public static void main(String[] args) {
    
            for (int i = 0;i < 10 ;i++ ) {
                System.out.println(Math.random());
            }
    
    
            for (int i = 0;i < 10 ;i++ ) {
                System.out.println((int)(Math.random() * 100) + 1);
            }
        }
    }
    随机数
  • 相关阅读:
    web自动化测试---自动化脚本设置百度搜索每页显示条数
    web自动化测试---测试中其他一些常用操作
    web自动化测试---css方式定位页面元素
    web自动化测试---xpath方式定位页面元素
    linux系统 之 curl命令
    http协议
    php编程 之 php基础二
    shell编程 之 ssh远程连接
    php编程 之 php进阶练习
    php编程 之 php基础一
  • 原文地址:https://www.cnblogs.com/JungTan0113/p/10884283.html
Copyright © 2011-2022 走看看