类方法使用注意事项和细节讨论

(1)类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区。类方法中无this参数。普通方法有this参数。 (2)类方法可以通过类名调用,也可以通过对象调用。 (3)普通方法和对象有关,需要对象调用,比如对象.方法名(参数),不能通过类名调用 (4)类方法中不允许使用和对象有关的关键字如this,super (5)类方法(静态方法中)只能访问静态变量或静态变量 (6)普通成员方法,既可

原创 点赞0 阅读92 收藏0 评论0 14 小时前

java中类方法的经典实用场景

1.当方法中不涉及到任何和对象相关的成员,则可以将方法设计成静态方法,提高开发效率。 比如:工具类中的方法utils Math类,Arrays类,Collections集合类看下源码。 在程序实际开发,往往将一些通用的方法,设计成静态方法,这样我们不需要创建对象就可以使用了,比如打印一维数组,冒泡排序,完成某个计算任务等。  

原创 点赞0 阅读83 收藏0 评论0 14 小时前

什么是类变量-java

类变量是有关键字static修饰的变量。可以由类直接访问。 (1)static变量是同一个类中所有的对象共享的 (2)static变量在类加载的时候就生成   jdk1.8以后在栈中

原创 点赞0 阅读132 收藏0 评论0 1 天前

java什么是多态

答:多态是方法或对象具有多种状态,是面向对象(oop)的第三大特征,多态是建立在封装与继承的基础之上的。 具体体现: 1.方法多态 (1)方法的重载,体现了多态 (2)方法的覆盖,体现了多态 2.对象多态 对象的编译类型和运行类型可以不一致,编译类型在定义时,就确定了,不能改变。 对象的运行类型时可以改变的,可以通过getClass()来查看运行内存。 编译看左,运行看右 (1)向上转型 (2)向

原创 点赞0 阅读38 收藏0 评论0 2 天前

==与equals的区别

名称 概念 用于基本数据类型 用于引用类型 == 比较运算符 可以 可以,判断两个对象是否相等 equals Object类的方法Java类都继承了equals方法 不可以 可以,默认是判断两个对象是否相等,一般来说子类都会重写这个方法。用来比较对象的属性是否相等。(String Integer...)等都被重写了equals方法。

原创 点赞0 阅读30 收藏0 评论0 2 天前

java练习题(2)

问题(2) 写出四种方法修饰符和各种的访问权限   本类 子类 同包 不同包 public yes yes yes yes protected yes yes yes no 默认 yes no yes no private no no no no

原创 点赞0 阅读28 收藏0 评论0 2 天前

java练习题1

1.定义一个Person类{name,age,job},初始化Person对象数组,有3个Person对象,并按照age从小到大排序,提示,使用冒泡排序。 解题思路: (1)定义一个Person类,Person类的属性有String ,age,job. (2)在测试类中调用Person类,创建容量为3的对象数组。使用冒泡排序算法进行age的从小到大排序,使用for循环来输出语句。   一.定义一个

原创 点赞0 阅读30 收藏0 评论0 2 天前

java收付款系统实战-面向过程编程

package com.project;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;public class SmallChangeSys { public static void main(String[] args) { //化繁为简 //1.

转载 点赞0 阅读7 收藏0 评论0 3 天前

equals与==的练习题

代码: package OPP.polymorphic.p5; public class Person { private String name; private int age; private char gender; public Person() { } public Person(String name, int age, char

原创 点赞0 阅读37 收藏0 评论0 3 天前

重写Object类中的equals方法

问题:定义一个Person类,判断两个Person类对象的内容是否相等。 实例代码如下:     package OPP.polymorphic.p5; public class Person { private String name; private int age; private char gender; public Person(String nam

原创 点赞0 阅读24 收藏0 评论0 3 天前

java多态数组的实现

1.定义一个Person父类 package OPP.polymorphic.p2; public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age =

原创 点赞0 阅读25 收藏0 评论0 4 天前

java动态绑定机制

java动态绑定机制 1.当调用方法的时候,该方法会和该对象的内存地址、运行内存绑定 2.当调用对象的属性时,没有动态该绑定机制,那里声明,那里使用。 实例代码: 1.定义A类 package OPP.polymorphic.p1; public class A { public int i = 10; public int sum(){ return getI

原创 点赞0 阅读9 收藏0 评论0 4 天前

类变量(静态变量)

类变量的定义:类变量也叫静态变量,是该类的所有对象共享的变量,任何一个该类的对象去访问它时, 得到的值都是相同的值,任何一个对象去修改时,修改的意识同一个值。 定义:public static 数据类型 变量名; 访问方式: 类名.类变量名 对象名.类变量名  

原创 点赞0 阅读33 收藏0 评论0 5 天前

面向对象编程-多态

多态的向下转型: 1.语法  子类类型   引用  = (子类类型)父类引用 2.只能强转父类的引用,不能强转父类的对象。 3.要求父类的引用必须指向的是当前目标的对象 4.可以调用子类类型中所有的成员。

原创 点赞0 阅读43 收藏0 评论0 5 天前

面向对象编程-多态

多态怎么理解:多种状态 1.重载方法的多态:同一个方法名,不同的参数类型,就会有不同的执行结果(这也是多态体现的一种方法) 2.方法覆盖重写的多态:同一个方法名,不同的对象调用,就会有不同的执行结果(这也是多态体现的一种方式) 3.对象的多态(核心,困难,重点) (1)一个对象的编译类型和运行类型可以不一致。 (2)编译类型钻定义对象时,就确定了,不能改变。 (3)运行类型是可以变化的 (4)编译

原创 点赞0 阅读111 收藏0 评论0 6 天前

java的覆盖(重写)总结

提问:什么时方法的覆盖重写?方法的覆盖重写需要满足什么样的条件。为什么要覆盖重写。 (1)方法的覆盖重写发生在具有继承关系的子类与父类中,子类中的方法的:返回值类型时父类的子类 ,方法名称 参数列表与父类的方法都相同。这时候子类会覆盖重写父类的方法。 (2)方法的覆盖重写的注意事项 1.子类方法的方法的形参列表,方法名称要和父类的形参列表,方法名称完全一样。 2.子类的返回值类型和父类一样,或则子

原创 点赞1 阅读24 收藏0 评论0 7 天前

this关键字与super关键字的比较

如图:

转载 点赞1 阅读27 收藏0 评论0 7 天前

super关键字给java编程带来的便利性

1.调用父类的构造方法的好处(分工明确) 2.当子类的成员变量或方法与父类的成员或变量重名时,为了访问父类的成员变量或方法。必须通过super。没有重名,子类直接继承了所有的属性,用this关键字来调用和super关键字时一样的道理。 3.super的访问不限于直接父类,如果爷爷和本类中有同名的成员,也可以使用super去访问爷爷类的成员;如果多个基类(上级类)中都有同名的成员,使用super访问

原创 点赞1 阅读29 收藏0 评论0 7 天前

java中super关键字的总结

1.super关键字可以访问父类的属性(成员变量),但是不能访问父类的private属性。 2.super关键字乐意访问父类的方法(成员方法与构造方法),但是不能访问父类的private方法。 3.super关键字可以访问父类的构造器,但只能在子类的构造方法中使用super关键字,且必须放在第一行。

原创 点赞0 阅读25 收藏0 评论0 7 天前

java继承练习

目的:通过本练习,掌握java继承中的构造方法的调用规则: 实例代码如下: (1)定义A类 package com.practice.P2; public class A { public A() { System.out.println("我是A类无参数构造"); } } (2)定义B类 package com.practice.P2; public

原创 点赞1 阅读20 收藏0 评论0 7 天前

Java继承技术的本质

问题:定义三个类GrandPa,Father,Son来探究java继承的本质: (创建了子类对象后,即建立了继承关系) 实例代码如下: (1)定义GrandPa类 package com.jicheng; public class GrandPa { String name = "大头爷爷"; String hobby = "旅游"; } (2)定义Father类 package

转载 点赞1 阅读6 收藏0 评论0 7 天前

java继承总结

(1)子类继承了父类所有的属性和方法(public ,protect ,默认 ,private),子类不能访问私有的成员方法和成员属性。如需要访问(在父类中写公共方法来得到私有属性和方法)。 (2)子类一定会调用父类的构造器,完成父类的初始化 (3)当创建子类对象时,不管使用子类的那个构造器,默认情况下总会去调用父类的无参数构造器,如果没有提供无参构造器,则必须在子类的构造器中用super去指定使

原创 点赞1 阅读35 收藏0 评论0 7 天前

java继承注意细节(1)

(1)子类继承父类所有的属性和方法,如果继承了私有的属性和方法,子类不能直接访问。如需要访问,需要在父类中实现一些公共方法,来得到私有的属性和方法举例代码如下: 一、父类Base package OPP.extends_; public class Base { public int n1 = 100; protected int n2 =200; int n3 =

原创 点赞0 阅读92 收藏0 评论0 7 天前

java的封装举例

问题:定义两个类,Account类和AccountTest类体会java的封装性,Account类具有属性姓名(长度为2位3位4位)余额(必须大于20),密码(必须是6位),如果不满足,则给出提示信息,并给默认值(程序员自己定义) 2.通过构造方法赋值或通过setter方法赋值。 3.在Account类中测试。   (1)创建Account类 package fengzhuan; public

原创 点赞1 阅读24 收藏0 评论0 7 天前

java包的命名总结

(1)包名只能包含数字,字母,下划线,小圆点,但不能用数字开头,不能是关键字或保留字。 (2)包名一般都是小写字母+小圆点 例如:com.公司名.项目名.业务模块名

原创 点赞0 阅读100 收藏0 评论0 8 天前

java包

提问:包有什么作用? 1.区分相同名字的类。 2.当类很多时,可以很好的管理类【看java api文档,你会发现java有很多包,每个包下有很多类】 3.控制访问范围  

原创 点赞0 阅读45 收藏0 评论0 8 天前

一个java类,对象练习

题目要求: (1)定义一个Circle类,包含一个double类型的radius属性代表圆的半径,findArea()方法返回圆的面积。 (2)定义一个类PassObject,在类中定义一个方法printArea(),该方法的定义如下: public void printArea(Circle c,int times) (3)在printArea方法中打印输出1到times之间的每个整数半径值,以

原创 点赞0 阅读47 收藏0 评论0 8 天前

const关键字在结构体中的使用场景

const用来防止误操作: 具体实例看以下代码实例:     #include<iostream> using namespace std; //结构体中const使用场景 //使用const来防止误操作 struct Student { string name; int age; int score; }; //可以将函数中的形参类型改为指针(4个字节),可以减少内存占用 vo

原创 点赞0 阅读38 收藏0 评论0 9 天前

结构体与函数

将结构体作实参向函数中的形参传递

原创 点赞0 阅读51 收藏0 评论0 9 天前

结构体嵌套结构体

提问:结构体嵌套结构体有什么作用? #include<iostream> using namespace std; /* * 结构体里嵌套结构体: * 作用:结构体中的成员可以是另一个结构体 * 例如:每个老师(老师结构体)辅导一个学生(学生结构体),一个老师结构体中,记录中一个学生的结构体 * * */ struct Student { string name; int ag

原创 点赞0 阅读37 收藏0 评论0 9 天前
  • 1
  • 2