zoukankan      html  css  js  c++  java
  • JAVA笔记2__类/封闭性/构造方法/方法的重载/匿名对象

    public class Main {
        public static void main(String[] args) {
            Chicken c1 = new Chicken();
            Chicken c2 = null;
            c1.eat();
            System.out.println(c1.age);
            c2 = c1;
            c2.eat();
        }
    }
    
    class Chicken{
        int color;
        char sex;
        int age;
        void eat(){
            System.out.println("chikcen1 eat rice.");
        }
    }
    public class Main {
        public static void main(String[] args) {
            Person p1 = new Person();
            p1.setName("dining");
            System.out.println(p1.getName());
        }
    }
    
    /**
     * 封闭性
     * 1.把属性设成私有
     * 2.为属性提供get/set方法
     */
    class Person{
        private String name;
        private int age;
        public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return name;
        }
    }
    public class Main {
        public static void main(String[] args) {
            Duck p1 = new Duck("fishDining");
            System.out.println(p1.getName());
            Duck p2 = new Duck("fishDining2",20);
            System.out.println(p2.getName()+" "+p2.getAge());
        }
    }
    
    /**
     * 构造方法
     * 1.默认(无参)构造方法:public Duck(){}
     * 2.带一个(多个)参数的构造方法:Public Duck(String name){this.name=name;}
     */
    class Duck{
        private String name;
        private int age;
        
        //默认构造方法
        public Duck(){}
        public Duck(String name,int age){
            this.name = name;
            this.age = age;
        }
        public Duck(String name){
            this.name = name;
            System.out.println("I'm a duck.");
        }
        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;
        }
    }
    public class Main {
        public static void main(String[] args) {
            Woman w1 = new Woman();
            w1.aa();
            w1.aa("keke1");
            w1.aa("keke1",21);
        }
    }
    
    /**
     * 方法的重载(方法具有相同名字,但具有不同的参数和不同的定义)
     */
    class Woman{
        public String name;
        public int age;
        
        public void aa(){
            System.out.println("aa1");
        }
        public void aa(String name){
            System.out.println("aa2:"+name);
        }
        public void aa(String name,int age){
            System.out.println("aa2:"+name+":"+age);
        }
    }
    import java.util.Random;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            new Woman().aa(); //生成一个匿名对象
            new Woman().aa("loveu1");
        }
    }
    
    /**
     * 匿名对象:定义一个没有名称的对象,特点:只能使用一次(直接在堆中开辟内存空间,使用后成为垃圾对象,被GC回收)
     */
    class Woman{
        public String name;
        public int age;
        
        public void aa(){
            System.out.println("aa1");
        }
        public void aa(String name){
            System.out.println("aa2:"+name);
        }
        public void aa(String name,int age){
            System.out.println("aa2:"+name+":"+age);
        }
    }
  • 相关阅读:
    hadoop安全模式
    建造者模式:设计角度重温游戏中的角色
    工厂模式:工厂方法与抽象工厂的战争
    原型模式(克隆模式):浅谈浅克隆与深克隆
    单例模式:层层剖析寻找最高效安全的单例
    24种设计模式和7大设计原则
    浅谈图的存储结构与遍历
    彻底理清二叉排序树的插入、查找、删除
    浅谈顺序、折半查找
    Android定位(是否使用GPS进行定位)
  • 原文地址:https://www.cnblogs.com/fish7/p/4136082.html
Copyright © 2011-2022 走看看