• java关键字


    package

    指定包路径,描述java文件所在位置(在哪个包)

    class

    描述java的类信息,说明此文件是一个java类

    interface 

    描述java的接口信息,说明此文件是一个接口

    public

    公共的,一般说明属性共有,公共可以使用

    private

    私有的,一般说明属性私有,只能被自己使用,不对外提供,不允许其他对象使用

    static 

    静态的,可以直接调用

    final 

    最终,一般是对类,属性等的描述,表示不可在修改,初始化之后即确定

    this

    表示本身,即执行者自己,比如 a对象调用stop方法,stop方法里面有this字段,这个this表示的就是a对象自己

    implements

    实现,一个类实现一个接口,使用此关键字

    extends 

    继承,一个类继承另一个类,将继承所有公共方法和属性

     volatile

    变量修饰符,易改变的,一般在多线程环境下,保证数据的实时性。 涉及系统内存数据与寄存器数据保持同步知识。

    transient

    针对对象序列化的修饰符,如果类的某个属性用transient修饰,表示该类的对象的这个属性在序列化的时候不用序列化操作

    一切都是对象

      java中任何事物可看做对象,创建对象的一般就是空参构造、有参构造创建对象

      

    class User{
            //类的属性,字段
            private String name;
            
            //空参构造  java是默认空参构造,可以不用写出来. 
            public User(){}; 
            
            //有参构造 如果写了有参构造,会覆盖空参构造
            //若要通过 new User() 方式创建对象,则必须在代码中把空参构造方法也写出来
            public User(String name){
                this.name = name;
            }
            
        }

      空参创建对象: User user1 = new User();  user1 在java中就是一个实例对象 

         有参创建对象: User user2 = new User("小明");  user2在java中就是一个实例对象,并且name的值为"小明"

    SimpleInfo.java

    package test.interfaces;
    
    //定义一个获取基本信息的接口 实现这个接口的类必须对outInfo() 方法有具体实现
    public interface SimpleInfo {
        // 获取信息方法
        String outInfo();
    }

    TestClass.java  继承Thread类重写run方法,并实现SimpleInfo接口实现outInfo()方法

    package test;
    //package 指定文件所在位置在test包下
    import test.interfaces.SimpleInfo;
    
    public class TestClass extends Thread implements SimpleInfo{
        public String name;        //公共属性,可以被子类集成使用
        private Integer age;    //私有属性,不能被子类使用
        public static final String classInfo = "TestClassInfo";  //final 修饰属性,不可被修改
        public static ThreadLocal<Long> scyThread = new ThreadLocal<>();
        
        @Override
        public String outInfo() {        //实现 SimpleInfo 接口 所以必须实现Simple 接口的outInfo方法
            return Thread.currentThread().getName()+" Hello -> " + scyThread.get();
        }
        
        //private 私有 说明 setAge是私有方法,只有对象自己才能调用
        private void setAge(Integer age) {
            this.age = age;
        }
        
        //空参构造 即 new TestClass();实现创建对象的构造方法
        public TestClass() {        
            
        }
        //有参构造
        public TestClass(String name) {
            this.name = name;
        }
        //有参构造
        public TestClass(String name,Integer age) {
            this.name = name;
            this.age = age;
        }
        //继承 Thread 类  重写 run() 方法
        @Override
        public void run () {
            setName(name);
            scyThread.set(age.longValue());
            System.out.println(outInfo()); //打印调用outInfo()方法的返回值
        }
        
        //公共静态方法 谁都可以调用
        public static void sayHello() {
            System.out.println("Hello World");
        }
        
        //main 方法,程序启动的开始
        public static void main(String[] args) {
            //静态方法
            TestClass.sayHello();
            for(int i = 0; i < 5; i++) {
                //有参构造创建TestClass对象
                //TestClass继承Thread,拥有Thread线程属性,所以创建的对象是线程对象
                TestClass thread = new TestClass("CreatThread"+i,i);
                //调用Thread 的start() 方法启动线程
                thread.start();
            }
        }
        
        
    }
  • 相关阅读:
    java通过ftp和sftp上传war包上传到Linux服务器实现自动重启tomcat的脚本代码
    linux 下 nginx 启动服务器 80端口被占用问题
    ZooKeeper伪分布集群安装及使用 RMI+ZooKeeper实现远程调用框架
    nginx+tomcat+redis的集群+session共享
    java 实现mysql数据库导出
    SpringQtz 时间任务调度
    java.lang.OutOfMemoryError: Java heap space解决方法 (有问题咨询加微信)
    tomcat 大并发报错 Maximum number of threads (200) created for connector with address null and port 8080
    linux下安装svn
    Nginx 性能优化
  • 原文地址:https://www.cnblogs.com/Narule/p/10286514.html
Copyright © 2020-2023  润新知