//一个教务管理系统
//知识点清单
/*
public & private 的区别
一个是公开的,一个是私有的,作用域不一样,访问的权限不一样咯
如果是用private修饰,则调用者只可以是在当前的作用域,一个类里边的。
private的其中一个作用
修饰一个类中的变量,为了规则输入,可额外设计一个public公开的方法改变数值,附加校验的功能

*/

/*
构造方法(构造器)
例如这条语句 : Student std = new Student();
Student();虽然你没有定义这个方法,但是系统帮你提供了,你也可以自己弄
你还可以构造多个构造方法,区别在于参数不同

*/

/*
this关键字 在类中使用
相当于把class根层作为出发点去寻找变量
作用1
比如在类中有一个a的变量,类中的方法中也有一个a的变量,在该方法中使用方法外面的变量则this.a即可。
作用2
代表当前的对象

*/

/*
对象属性私有化
将对象使用private修饰,如果需要访问,只需构造一个方法return即可.
public String getName(){
    return name;
}
这样相当于“只读”。相当于《封装》。

*/

/*
static关键字
修饰成员变量,成员方法。
好处是:节约内存,一般是高频使用的不需要修改的常量,类似于const
栈 堆 方法区(含有静态区)
静态变量:存储在静态区,只要是用到了这个类,则不同对象都是调用同一个内存区域。
        即使你没有创建这个类的对象,你也可以直接访问到这个类的静态变量和静态方法

静态方法:因为也是存储在静态区里的,只有一份,所以静态方法是不能访问非静态变量的

main就是静态方法

*/

/*
main的静态方法通过java命令传递参数
DOS:java Learn04 第一个参数 第二个参数 ...
则存储在args中

*/

public class Learn04 {
    public static void main(String[] args){
        Student std = new Student();
        //Student std = new Student("张杰",19,"929252",'男');
        //std.show();
        
        for (String ss : args){
            System.out.println(ss);
        }
        
    }
    
}
class Student{
    public static String static_country;
    String name;
    int age;
    String id;
    char gender;
    public Student(){
        System.out.println("没有参数的构造方法被调用了!");
    }
    public Student(String n,int a ,String i,char g){
        name = n;
        age = a ;
        id = i;
        gender = g;
        System.out.println("有参数的构造方法被调用了!");
    }
    public void show(){
        System.out.println(name + "\n" + age + "\n" + id + "\n" + gender + "\n" );
        
    }
}

【java】学习路线5-public和private、构造方法、this关键字、封装对象、static关键字、main方法结构解析的更多相关文章

  1. Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性

    Java修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的 ...

  2. 最新java学习路线:含阶段性java视频教程完整版

    最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...

  3. 【Todo】Java学习路线(方向指导)

    在网上搜了下Java学习路线(关键词:学习,因为众所周知,实践出牛人,在平时工作不怎么深入的情况下,才强调学习的方向的重要性 ^_^) 发现下面知乎这个回答写的真好.mark如下: https://w ...

  4. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  5. JAVA修饰符类型(public,protected,private,friendly)

    转自:http://www.cnblogs.com/webapplee/p/3771708.html JAVA修饰符类型(public,protected,private,friendly) publ ...

  6. java学习路线(好资源大家分享)

    对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...

  7. JAVA类型修饰符(public,protected,private,friendly)

    JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...

  8. 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)

    这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么.不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐视频: 下面的是黑马内部视频,我比较推荐的 ...

  9. 【强烈推荐】可能是最适合你的 Java 学习路线和方法

    如遇链接无法打开,建议使用 https://github.com/Snailclimb/JavaGuide/blob/master/docs/questions/java-learning-path- ...

随机推荐

  1. cool-admin vite-vue3 打包部署 nginx代理设置

    location /api {rewrite ^/api/(.*)$ /$1 break;proxy_pass http://xxx.com;}location /socket.io {rewrite ...

  2. ubuntu下连microsoft sql server解决方案

    shell for MSSQL: https://github.com/dbcli/mssql-cli mssql-cli -S 127.0.0.1,1433 -d testDB -U myuser ...

  3. 3.对互斥事件和条件概率的相互理解《zobol的考研概率论教程》

    tag:这篇文章没太多思考的地方,就是做个过渡 1.从条件概率来定义互斥和对立事件 2.互斥事件是独立事件吗? 3.每个样本点都可以看作是互斥事件,来重新看待条件概率 一.从条件概率来定义互斥和对立事 ...

  4. MySQL-5-TCL,视图,变量,存储过程和函数,流程控制

    TCL:Transaction Control Language事务控制语言 TCL 事务的特点 acid: 原子性(Atomicity),一致性(Consistency),隔离性(isolation ...

  5. SAP 实例- 下拉框

    效果图 源代码 REPORT rsdemo_dropdown_listbox . DATA init. TABLES scarr. TABLES spfli. TABLES sflight. TABL ...

  6. Navicat中查询mysql版本

    SELECT VERSION( ) FROM DUAL

  7. Java实现动态代理

    1.实现InvocationHandler接口 这种方式只能针对接口实现类的实例对象. interface Hello{ public void sayHello(); } class HelloIm ...

  8. ooday02构造方法_this_引用类型数组

    笔记: 构造方法:构造函数.构造器.构建器---------复用给成员变量赋初值代码 作用:给成员变量赋初始值 与类同名,没有返回值类型(连void都没有) 在创建(new)对象时被自动调用 若自己不 ...

  9. 一文吃透如何部署kubernetes之Dashboard

    kubernetes Dashboard是什么? Dashboard是kubernetes的Web GUI,可用于在kubernetes集群上部署容器化应用,应用排错,管理集群本身及其附加的资源等,它 ...

  10. 【ASP.NET Core】选项模式的相关接口

    在 .NET 中,配置与选项模式其实有联系的(这些功能现在不仅限于 ASP.NET Core,而是作为平台扩展来提供,在其他.NET 项目中都能用).配置一般从多个来源(上一篇水文中的例子,记得否?) ...