[导言]今天开始我们的第二课,主要介绍Java的语法及结构。
java是一种面向对象的编程语言,一切都是对象。那么什么是对象呢,生活中一切都是对象,比如说一颗树,一个人,一只小动物,一切的一切。在java里面用来表示对象的方式就是定义一个类。
接下来我们来看看一个类的定义
package com.demo.main;
public class Person{
private int age;
private String name;
public Person(){
}
public void walk(){
System.out.println("我在走路!");
}
public void eat(){
System.out.println("我在吃饭!");
}
public void sleep(){
System.out.println("我要睡觉了!");
}
}
这是里定义了一个类,用它来描述现实生活中的人这个对象。
我们给这person这个类定义了一系列的属性
int age;
String name;
name代表这个人的名字,age代表年龄,然后又定义了三个行为,对应为类中的 *** ,即人会走路,会吃饭,会睡觉。
public void walk(){
System.out.println("我在走路!");
}
昨天我们知道java的程序要放到.java结尾的文件中,而且有个约定是一个.java文件一般只放一个class。这个class是要用public来声明。
下面我们就来详细讲解一个一个类的结构。
package com.javademo.main; //---这句是代表申明一个包的概念,即这个类要放到
//------- com下的demo的main这个包里面
public class Person{ //类的定义一般用public class 后面接类的名称,
//类的名称首字母要大写并且文件名和类名称要保持一致
private int age; //int是java的基本数据类型,代表一个整数
private String name;//String 是基本数据类型,代表一个字符串
public Person(int age,String name){ //这是一个构造函数,带两个参数
this.age=age;
this.name=name;
}
public void walk(){ //定义了一个不代返回值的函数,用的是public 来修饰。
System.out.println("我在走路!");
}
}
我们总结如下:
类文件的名称要和里面定义的public class的名称相同一个类的定义,一般包括了属性, *** 类至少会有一个无参的构造函数Java语句的结尾要加“;”分号类的定义要用大括号括起来。继续看上面的例子
我们定义了一个Person类,现在要来运行它
我们在Person里面增加一个 *** 定义
public static void main(String[] args){
Person zhansan = new Person(20,“张三”);
zhansan.walk();
}
我们先编译这个类文件,得到class然后在控制台运行
运行结果
public static void main(String[] arge)
这是一个main *** ,所有的java程序如果需要运行 都需要一个main *** 入口。
类与对象的关系
对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类:类是一个模板,它描述一类对象的行为和状态。类定义了一类对象的模板,是对象的抽象。类要使用必须先实例化成对象。
public static void main(String[] args){
Person zhansan = new Person(20,“张三”);
zhansan.walk();
}
在main *** 中,
Person zhansan = new Person(20,“张三”);
这句话就是用Person这个类,实例化出来一个对象 这个对象的引用我们这里用变量名zhansan来代替。zhansan.walk()就是对象引用zhansan调用了walk() *** 。
在这里new Person(20,"张三")是指的对象,在java里用new来生成一个对象,然后用zhansan来引用这个对象。
要调用类的 *** ,即是对象引用. *** 名
zhansan.walk() *** 来调用。
今天的知识点总结:
类文件的名称要和里面定义的public class的名称相同一个类的定义,一般包括了属性, *** 类至少会有一个无参的构造函数,构造函数和类的名称相同,并且构造函数不带返回值Java语句的结尾要加“;”分号类的定义要用大括号括起来。用new来实例化一个对象用对象引用来调用对象的 *** 。课后题:
1.定义一个类用来描述一只小猫,属性设定有颜色,毛发,品种。行为有喝水,叫,睡觉
编译类文件并打印运行结果
【原创教程,转载请注明.】
网络安全专家认为 CVE-2021-44228 的普遍性以及容易被利用,这个 Log4j 中的远程代码执行漏洞可能需要数月甚至数年时间才能得到妥善解决。McAfee Enterprise 和 FireEye 的高级威胁研究主管 Steve Povolny 表示,Log4Shell 的破坏力完全和 S...
有使用LastPass的用户报告说,有多人试图使用正确的主密码从不同地点登录,表明该公司可能存在数据泄露。Hacker News论坛的多名用户报告称他们的LastPass的主密码似乎被泄露了。 目前还不知道这些密码是如何泄露的,但在用户中已经出现了一种类似的情形。 大多数报告似乎来自拥有过时的Las...
Mozilla 很高兴地宣布,Firefox 90 版本将支持基于“元数据请求标头”的获取功能,使得 Web 应用程序能够保护自身和用户免受各种跨源威胁。据悉,此类威胁涵盖了跨站点请求伪造(CSRF)、跨站点泄露(XS-Leaks)、以及投机性跨站点执行侧信道(Spectre)攻击。 跨站攻击的背...
过去几年,谷歌一直在积极向 Web 浏览器的 Cookie 发起战争,尤其是那些严重侵犯用户隐私的第三方跨站追踪 Cookie 。但由于此类 Cookie 也被广告平台给广泛使用,意味着谷歌也必须为自己找到替代解决方案。最终该公司交出了两个答案,其一是隐私沙箱(Privacy Sandbox)、另一...
外媒援引《德国之声》的报道称,周日公布的一项欧洲媒体调查表明 —— 丹麦情报机构曾秘密协助美国国家安全局(NSA)对身居高位的欧盟政客实施了大规模的监听,其中就包括了德国总理安吉拉·默克尔和总统弗兰克-瓦尔特·施泰因迈尔。其实早在 2013 年,美国对其盟友开展间谍活动的爆料就已经首次浮出水面。但直...
据外媒报道,一名为伊朗工作的网络罪犯攻击了一名前以色列国防军(IDF)参谋长的电脑并获得了他整台电脑数据库的访问权限。Channel 10确认该名黑客是Yaser Balgahi。据报道,他事后吹嘘自己的黑客攻击行为,然而他在不知情的情况下留下了自己身份的痕迹。 这一情况使得伊朗关闭了针对全球180...