JAVA 类与对象_写一个类,该类具有1个参数的构造方法、x的设置器与访问器、平方的方法。在

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

void speak()//方法:说话{
	System.out.println("My name is:"+name);
	System.out.println("My salary is:"+salary);
}
public static void main(String[] args){
	
}

}


#### 静态变量与实例变量


Java为强类型语言,这意味着在每个变量使用之前都必须声明,声明时包括**访问修饰符、类型修饰符** 区分静态变量与实例变量的一个标志就是查看类型修饰符,其中用**static** 来修饰的为类变量或者说时静态变量,而没有用static修饰则为**实例变量**。二者的区别就是静态变量在内存中唯一存在,而实例变量在每个对象被创建时分配不同的内存。


#### 静态方法与实例方法


对应的static修饰方法时该方法称为静态方法,其用来操作静态变量。无修饰则为实例方法,用于操作实例变量。


#### 变量的生命周期、成员变量与局部变量


在类体中方法之外声明的变量称为成员变量,在类体某个方法内部或者参数列表中声明的变量称为局部变量。成员变量在整个类中都有效,而局部变量只在声明它的方法中有效。如果方法中变量名与成员变量名相同,成员变量会被隐藏**关键词 this** 来访问成员变量。


#### this关键字


this关键字表示对当前对象的引用,可以出现在类的实例方法和构造方法中。当**成员变量和局部变量重名时必须使用this来引用成员变量,**


#### 访问器与设置器


在类方法中一般都会有访问器与设置器。访问器的作用是得到该对象的一些信息,而设置器作用是给与对象一些信息。同样用员工类来说明,我们想知道一个员工的名字或者薪资,我们可以写一个返回值为名字、薪资的方法。又或者想要改变一个员工的名字那就写一个设置员工的方法。



public double getSalary(){
return salary;
}
public String getName() {
return this.name;
}
public void setSalary(double salary) {
this.salary=salary;
}


#### 构造方法


构造方法是一种特殊的方法,它的名字与类名完全相同,且无返回值。构造方法的主要作用是初始化新创建的对象。Java类中至少有一个构造方法、如果定义类时没有显示定义构造方法,系统就会自动提供一个缺省构造方法。同样用Employee类说明



public Employee(String name,double salary){
this.name=name;//this可以指向当前对象
this.salary=salary;
}


#### 方法重载


再Java种,方法的标识是由方法名与参数类型来表示的。所以可以在一个类中定义多个方法名相同但参数列表不同的方法。例如



void add(int a,int b);
void add(int a,int b,int c);
void add(double a,int b);


这样的命名都是合理的,在调用重载方法时JVM虚拟机将会根据当前方法调用的参数在类中匹配参数形式一致的方法。


#### 对象实例化


对象时类的具体实例,需要通过类来创建,创建对象的过程称为实例化,实例化包括两个步骤,一是使用new操作符作为对象的各个实例变量分配内存并赋予初始值,二是使用构造方法对对象的各个实例变量赋值,并返回一个引用给声明的对象变量。分配给对象的内存称为对象实体。保存在堆内存中。而声明对象的变量被保存在栈内存中。



public static void main(String[] args){
Employee t=new Employee(“xx”,3000);//通过上面的构造函数,初始化值姓名为xx,工资为3000
}


#### 对象数组


对象数组是多个对象的集合,就如数与数组关系一般,定义方式与单个对象实例化相似



public static void main(String[] args){
Employee []t=new Employee[10];//t为10个员工的集合。
}


#### 实参与形参


与C语言类似,在方法传参时分为**传值与引用**。按值传递,方法体中的代码不会对原本的参数有所影响,而按引用传参则会改变原始的数据。


#### 包


包是Java提供的一种资源管理机制。使用package关键字来创建包。想让某个包中的类被其他的类访问,应将这个类设为public,同时还要使用以下三种方式中的一种在包外访问该public类;通过包名限定的类全名来访问该类,通过import语句导入该类和通过import语句来导入该类所属的整个包。如果在一个程序中存在使用两个不相关的同名类时,不能使用导入类的方式,此时需要使用类全名来访问类。


#### 练习代码



public class Employee
{
String name;
double salary;

 public Employee(String name,double salary){
	 this.name=name;
	 this.salary=salary;
	 
 }
 
public double getSalary(){
	return salary;
}

public String getName() {
	return this.name;

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值