Java day2

public class Function
{
    //在JAVA语言里面函数叫做方法
    //格式
    //  public static 返回值类型 方法名称(类型 参数1,类型 参数2,...)
    //  {
    //      程序语句
    //      [return 表达式];
    //  }
    //
    //这里和C++一样存在重载。
        public static void main(String args[])
         {
            System.out.println(add(1,2));
        }
     
        public static int add(int x,int y)
        {
            return x+y;
        }                                                                       
}


/*
class Person{
    String name;
    String GetName()
    {
        
        //return name;
        //如果需要加入guanggong户籍就用下面这个
        //他为什么可以直接这么加,是因为guangdong这个字符串和这个name它们
        //都是String,都是类的对象,它重载了这个加号运算。
        return "guangdong " + name;
    }

}
public class Oop
{
    public static void main(String args[])
    {
        //在JAVA里面类对象它是引用数据类型,必须用new来给它分配空间
        Person p1=null;
        p1=new  Person();
        p1.name="zhangsan";
        System.out.println(p1.GetName());
    }
}
*/



//在一个文件里面只能有一个public class
//其他的class  你不能写public
//你方法前面加上static表示你这个方法属于类的,就不用通过创建对象来访问其中的成员了。Static 变量一样的

class Person
{

public Person(String _name)
    {
        name=_name;
    }
public String GetName()
    {
        return name;
    }
private String name;
//这是构造块。在这个class里面用一个大括号扩起来的这段代码就称为构造块。
//什么叫构造块呢,你不是有构造函数吗,构造函数是创建这个对象的时候,肯定有一个函数被调用。同样的,构造块它也是这么一块代码你去创建一个对象的时候,那块代码肯定会被执行。在构造函数之前被调用。还一个静态代码块,就是前面加个static,
//无论你创多少对象,他都只执行一次,在实例化第一个对象前执行,而且静态代码块还是最先执行的,执行完之后
//才会调用创建对象的时候的静态代码块。
{
    count++;
}

static void Printf()
{
        System.out.println("do good person");
}

static int count;
};

public class Oop
{
    public static void main(String args[])
    {
        Person p1=new Person("zx");
        Person p2=new Person("gh");
        System.out.println(p1.GetName());
        Person.Printf();
        System.out.println(Person.count);
    }

    //在JAVA里面有四种权限,private:本类可以访问
    //                      default:本包可以访问
    //                      protectd:本包可以访问,其他包的子类可以访问
    //                      public:所有
    //在继承关系里有两个特殊的概念。一个是抽象类,另外一个是接口
    //先看看抽象类,它的定义是这样的
    //abstract class 类名
    //{
    //  属性
    //  普通方法
    //  //抽象方法
    //  //访问权限 abstract 返回值类型 方法名(参数);只需要声明,不需要实现
    //}
    //
    //在来看看接口
    //接口和抽象类比较类似。它也是定义了一些抽象方法,但是它还可以定义一些
    //全局常量。实际上我们在抽象类里面也可以定义常量啊。我抽象类可以定义常量变量,各种方法。看样子抽象类的功能强于接口。为什么接口还有存在的必要呢
    //那是因为在抽象类里面,一个子类只能继承一个父类,但是接口却可以突破这个限制。一个子类可以实现多个接口
}



 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值